-3

可能重复:
在 PHP 中防止 SQL 注入的最佳方法?

我已经看到 mysql_real_escape_string 和斜杠被用于防止 MySQL 注入。还是我需要更多并将其全部放入函数中,然后使用该函数来防止注入?

$query = ("SELECT * FROM `users` WHERE `fname` REGEXP '%s' AND `lname` REGEXP '%s' LIMIT  
%d", 
mysql_real_escape_string($fname), 
mysql_real_escape_string($lname),
(int)$RowsLimit);

或者做这样的事情会更好吗?mysql_real_escape_string(stripslahses($fname)),

4

2 回答 2

0

避免使用 mysql_ 函数,因为它们已被弃用。查看 mysqli_ 或 PDO。两者都是准备好的语句,并且在有效使用时更快,更安全。

此外,准备好的语句不需要转义。这在之前的答案中进行了解释:

为什么使用 mysql 准备好的语句比使用常见的转义函数更安全?

PHP.net 关于准备 mysqli_ 语句

于 2012-10-06T04:32:36.387 回答
0

您应该使用准备好的查询解决方案而不是字符串格式。

pdo 中是否需要参数化查询?

使用 pdo 准备的查询

防止php中的sql注入

于 2012-10-06T03:11:09.327 回答