sql注入会话

Pav*_*lli 2 php sql sql-injection

我使用mysql_real_escape_string()来阻止sql注入下面的$ field变量.我应该为$ _SESSION ['user_id']使用相同的内容吗?

我无法想象有人能够更改$ _SESSION数组中的值.他们可以吗?

$query = "SELECT `".mysql_real_escape_string($field)."` FROM `users` WHERE         `id`='".$_SESSION['user_id']."'";
Run Code Online (Sandbox Code Playgroud)

ldi*_*ual 5

他们无法更改$_SESSION阵列,但您的问题完全取决于您的初始化方式$_SESSION['id'].通常,您应始终在SQL查询中转义值.不要试图猜测是否可以从用户输入修改值,只是逃避它们.