我有一个客户端的网站,我试图阻止MySQL注入。代码是如此混乱(我没有编码),我不能使用PDO所以我尝试mysql_real_escape_string()
但它也没有停止攻击,因为根据我的研究它只适用于MySQL DB结构是UTF8所以我试图手动停止攻击,所以我写了这段代码
$input = $_REQUEST;
foreach ($input as $key=>$value){
$input[$key] = preg_replace("/[^A-Za-z0-9\. ]/", "", $input[$key]);
if($input[$key] =='')
$input[$key]=1;
}
我仅限制字母数字和少数其他字符用于聊天目的但这也不能阻止攻击,因为我再次运行漏洞扫描程序并且它说GET值设置为6%c0%00xa7%c0%a2这提示SQLi错误再次。它的HEX值转换为6xa7。还有其他最好的方法可以阻止这种攻击吗?