我已经阅读了很多关于过滤用户输入的文章,但大多数时候答案是,这取决于你在做什么。下面是我在做什么:过滤用户输入
function clean($field, $link)
{
return mysql_real_escape_string($field, $link);
}
通过将显示后面的HTML/PHP页面或在表单提交的数据:
通过,将在MySQL查询使用的形式提交的数据电子邮件:从数据库
function output_html($value)
{
return stripslashes(htmlspecialchars($value));
}
数据显示:
function output_db($value)
{
return stripslashes($value);
}
这是足以让我ñ电火工品?有什么我不考虑?
谢谢!
你问的应用程序的安全性,即SQL注入? – 2011-05-11 15:42:54
@ robert-harvey SQL注入,并通过JS等将代码添加到我的页面 – NightHawk 2011-05-11 15:47:30
'output_db'表明你做错了。如果您正确地转义了您的内容,并且没有启用superflous magic_quotes,那么在数据库查询之后不需要stripslashes()。 http://php.net/manual/en/security.magicquotes.disabling.php – mario 2011-05-11 16:16:34