我使用的是mysqli预准备语句。我是否应该仍然使用如下函数来清理用户输入:
function sanitise($string){
$string = strip_tags($string); // Remove HTML
$string = htmlspecialchars($string); // Convert characters
$string = trim(rtrim(ltrim($string))); // Remove spaces
$string = mysql_real_escape_string($string); // Prevent SQL Injection
return $string;
}谢谢。
发布于 2011-03-09 08:26:24
准备好的语句是为了防止您的查询表单被恶意输入破坏。但是有大量的恶意内容在SQL查询中是完全可以接受的,但在稍后重新显示时会攻击浏览器。
对进入预准备语句的数据执行mysql_real_escape_string通常是多余的(也有例外,但它们是特殊情况)。
https://stackoverflow.com/questions/5240014
复制相似问题