PHP盲SQL注入;x-for";标题
今天我用acunetix检查了我的脚本,在我的一个文件中发现了一个“盲SQL注入” Accunetix消息: 攻击细节 HTTP头输入x-forwarded-for设置为1'且睡眠(2)=' 如何修复此漏洞: 脚本应该从用户输入中过滤元字符。 有关修复此漏洞的详细信息,请查看详细信息 我已经用mysql\u real\u escape\u string()func转义了所有输入,但仍然存在错误 我尝试使用以下代码筛选文件中的此标头:PHP盲SQL注入;x-for";标题,php,sql,sql-injection,Php,Sql,Sql Injection,今天我用acunetix检查了我的脚本,在我的一个文件中发现了一个“盲SQL注入” Accunetix消息: 攻击细节 HTTP头输入x-forwarded-for设置为1'且睡眠(2)=' 如何修复此漏洞: 脚本应该从用户输入中过滤元字符。 有关修复此漏洞的详细信息,请查看详细信息 我已经用mysql\u real\u escape\u string()func转义了所有输入,但仍然存在错误 我尝试使用以下代码筛选文件中的此标头: if(isset($_SERVER['HTTP_X_FORWA
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
mysql_real_escape_string(addslashes(($_SERVER['HTTP_X_FORWARDED_FOR'])));
但是不起作用。请帮忙 最好使用PDO准备的语句来阻止SQL注入,而不是尝试创建自己的“脚本”,仅仅转义字符不足以阻止SQL注入
请在此处查看PDO准备的声明:很可能您的应用程序使用了某种有缺陷的函数“来确定访问者的IP地址。” 撇开为使用
HTTP\u X\u FORWARDED\u进行此操作是错误的这一事实不谈,这很可能解释了为什么您笨拙的转义不起作用
系统似乎在转义之前在某个变量中获取了一个IP地址。然后,当您转义无害的XFF时,这个变量进入查询
下面是真正的解释,为什么你应该使用预先准备好的语句:因为它们的格式完全正确,正好在它应该在的地方。不会因为过早转义而出错。可能重复