我使用 mysql_real_escape_string() 来防止下面的 $field 变量的 sql 注入(inject)。我应该对 $_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/