Zend Framework Filter,防止sql注入

时间:2010-10-17 11:44:56

标签: zend-framework sql-injection

由于某些重要原因,我无法使用ZF提供的标准方法来阻止sql注入。我刚刚写了(我在用户的每个POST / GET数据上使用它):

$filter = new Zend_Filter_PregReplace();
$filter->setMatchPattern(array("/[';`]/"))
       ->setReplacement(array(''));

我只使用MySQL数据库。够了吗?现在安全吗?

2 个答案:

答案 0 :(得分:5)

永远不要使用正则表达式来做这样的事情。如果您不能使用Zend的数据库方法,请使用数据库库为您提供的任何卫生设施。对于mySQL的程序包装器,它将是mysql_real_escape_string()。对于PDO,参数化查询将自动处理它。等等。

那就是说,我真的不明白为什么这首先是必要的。为什么不能使用框架提供的内容?我打赌有一个更好的解决方法,而不是自己做卫生。

答案 1 :(得分:1)

你真的应该使用框架提供的清理 - Zend(PDO,ORM)。如果你不这样做可能已经出现了问题。

有很多案例要注入恶意代码,要排除所有这些代码,您必须找到/推出自己的某种框架才能安全。