我从来没有在之前打开魔术引号的环境中编程.现在我正在开展一个项目.这就是我一直在设置用户接受的数据情况:
$first_name = $_POST['first_name']
if(!get_magic_quotes_gpc()) {
$first_name = mysql_real_escape_string($first_name);
}
Run Code Online (Sandbox Code Playgroud)
通过这种过滤,当启用魔术引号时,我仍然可以打开SQL注入攻击吗?
我真的只关心任何会破坏我的查询的SQL注入......其他区域的其他白名单,htmlspecialchar()-ing等.
看一些类似的SO问题似乎建议改为检查魔术引号,如果它打开则在数据上运行'stripslashes',然后总是运行转义函数.我有点担心这样做,因为网站中的所有现有代码都假定它已经开启.
谢谢!