使用MDB2防止PHP中的SQL注入
我试图找出如何防止sqlinjection,我编写了这个基本函数:function使用MDB2防止PHP中的SQL注入,php,postgresql,sql-injection,mdb2,Php,Postgresql,Sql Injection,Mdb2,我试图找出如何防止sqlinjection,我编写了这个基本函数:function antiInjectie($inputfromform){ $temp = str_replace("'", "`",$inputfromform); $temp = str_replace("--", "~~",$temp); return htmlentitites($temp); } 然而有人告诉我也要考虑十六进制值,但我该怎么做呢 更新 我坚持使用MDB2,pgsql有一个很好的
antiInjectie($inputfromform){
$temp = str_replace("'", "`",$inputfromform);
$temp = str_replace("--", "~~",$temp);
return htmlentitites($temp);
}
然而有人告诉我也要考虑十六进制值,但我该怎么做呢
更新
我坚持使用MDB2,pgsql有一个很好的防止SQL注入的指南
简而言之:不要自己摆弄输入,使用允许绑定参数的数据库API方法。首先,不要自己编写任何转义函数。它们很可能被破坏,数据库库很可能包含一个合适的数据库。对于mysql,您可以使用
不过,一个更好的长期解决方案不是将完整查询创建为文本,而是使用准备好的查询并在执行期间传递值。对于mysql,请检查mysqli扩展。您可以对相关问题中提出的PHP本机进行相同的操作。您可以将准备好的语句与或通过手动插入值一起使用。使用,这是避免使用PHP和PostgreSQL进行SQL注入的最简单的函数。不幸的是,我坚持使用MDB2:(如果您不打算使用PDO,请查看您正在使用的连接类型的DB函数。它们通常已经包装了转义函数。Bobby tables不是一个“伟大的链接”展示为什么问题是问题的引人入胜的例子?检查。用多种语言解释如何处理问题?检查。邀请提供改进或报告问题?检查。这里看起来很不错。