可能重复:
停止PHP 中SQL注入的最佳方法
我想知道哪些函数最好用来防止MySQL注入
我可以使用大量函数来防止sql注入,例如:
mysql_real_escape_string
mysqli_real_escape_string
addslashes
- 为数字铸造值(intval等(
htmlentities
与ENT_QUOTES
- 或者简单地移除
'
或"
我想使用最好、更快的反SQL注入方法来标准化我的代码,我想知道在高流量网站上应该使用哪种方法。
您不应该使用htmlentities将数据保存到数据库,addslashe不是100%安全的(有些字符集仍然会使其易受攻击(,使用mysql_或mysqli_取决于您使用的驱动程序,并且不可交换。基本上,这不是速度或性能的问题——唯一正确的做法是使用驱动程序附带的转义函数(pdo::escape或mysql[I]_real_sescape_string(来处理字符串,并将整数/浮点转换为正确的类型。
要给您一个简单的答案,您可以使用mysql_real_sescape_string
http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php
http://www.osempire.com/php-injection-attacks-guide
为了给您一个更好的答案,请尝试阅读Theo在"如何防止PHP中的SQL注入?"中的回答?
我想你已经在进行这个项目了。完成后,我建议您学习一个新的框架,如CodeIgniter、Yii和CakePHP,以加快开发速度。