我见过mysql_real_escape_string和strip slashes用于防止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)),
答案 0 :(得分:0)
您应该使用准备好的查询解决方案而不是字符串格式。
答案 1 :(得分:0)
避免使用mysql_函数,因为它们已被弃用。查看mysqli_或PDO。这两个都是预备语句,并且在有效使用时更快,更安全。
此外,准备好的陈述不需要转义。 这在前一个答案中有解释:
Why is using a mysql prepared statement more secure than using the common escape functions?