我以前从未在打开魔术引号的环境中编程过。现在我正在做一个项目。这就是我设置用户接受数据情况的方式:
$first_name = $_POST['first_name']
if(!get_magic_quotes_gpc()) {
$first_name = mysql_real_escape_string($first_name);
}
通过该过滤,启用魔术引号后,我是否仍然可以进行 SQL 注入攻击?
我真的只关心会破坏我的查询的任何类型的 SQL 注入......其他白名单,htmlspecialchar() -ing 等在其他领域已经到位。
查看一些类似的 SO 问题,似乎建议改为检查魔术引号,如果数据已打开,则在数据上运行“stripslashes”,然后始终运行转义功能。不过,我有点担心这样做,因为站点中的所有现有代码都假定它处于打开状态。
谢谢!