我使用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/

10-12 00:52