目前我使用此功能作为我的网站的对策,只是想知道它是否可以有效地阻止SQL注入。由于我使用Accunetix WPS,ZAP和NetSparker测试了我的网站,其中只有ZAP说我的网站很容易注入type = 'ZAP'
或'1=1'
。
我应该担心吗?
function anti_injection($sql){
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
if($mysqlsupport == 1)
{
$sql = mysql_real_escape_string($sql);
}
return $sql;
}
答案 0 :(得分:3)
简答:不,这不是一个好的反sql注入功能。
有许多工具可以运行,并且运行良好,因此我们作为开发人员在保护我们的数据库时不需要尝试涵盖所有优势。
请至少研究一下PDO。 http://php.net/manual/en/book.pdo.php