我使用mysql_real_escape_string()防止下面的$ field变量进行sql注入。 $ _SESSION ['user_id']是否应该使用相同的名称?
我无法想象有人能够更改$ _SESSION数组中的值。可以吗
$query = "SELECT `".mysql_real_escape_string($field)."` FROM `users` WHERE `id`='".$_SESSION['user_id']."'";
最佳答案
他们无法更改$_SESSION
数组,但是您的问题完全取决于您如何初始化$_SESSION['id']
。通常,您应该始终在SQL查询中转义值。不要试图猜测是否可以从用户输入中修改值,而只是对它们进行转义。
关于php - session 的SQL注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9104592/