如何在运行之前检测异常查询(注入可疑)?

时间:2012-10-19 18:18:17

标签: php mysql string code-injection

一些黑客可以访问我的数据库,我将找到该错误;我无法访问服务器日志。 我制作了这段代码,用于在文本文件中保存可疑查询:

function query($query) {
$file = 'sqllog.txt';
if(/* Which condition should i use to detect? */){
$contents = file_get_contents($file);
$contents.="\r\n";
$contents.=$query;
file_put_contents($file,$contents);
}
$this->theQuery = $query;
return mysql_query($query, $this->link);
}

我应该使用哪种条件来检测sql注入可疑查询?

1 个答案:

答案 0 :(得分:3)

您应该在代码库中查找未经过清理的输入(即不使用mysql_real_escape_string)。理想情况下,在将参数插入查询之前调用此函数。

或者,考虑使用PDO切换到预准备语句,SQL注入将不再是一个问题。