php - session 的sql注入(inject)

标签 php sql sql-injection

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

相关文章:

php - 如何使用 Passport 在 Laravel API 中获取当前用户?

php - Xpath 查询包含

PHP 联系表格邮件功能不起作用

java - Informix JDBC 准备语句 UPDATE 多重集

sql - 使用 sql 数据创建模型

php - 有没有更安全的方法来使用 PDO 来避免不必要的查询?

javascript - Bootstrap JavaScript 动态添加事件不链接到模式窗口

php - 从数据库获取数据无法正常工作

php - 允许用户执行 mySQL Select 语句,同时防止 SQL 注入(inject)

php - MySQL、PHP 清理发布变量的可接受方式