PHP输入消毒剂?
什么是一些很好的PHP html(输入)消毒剂?
最好是,如果内置了某些东西 - 我想给我们提供。
更新 :
按照要求,通过评论,输入不应该让HTML(显然防止XSS和SQL注入等)。
html净化器 - > http://htmlpurifier.org/
我一直使用PHP的addslashes()和stripslashes()函数,但我也只是看到了内置的filter_var()函数(链接)。 看起来像有不少内置过滤器。
如果你想运行一个使用的查询,比如说$_GET['user']
一个很好的解决方案是使用mysql_real_escape_string()来做这样的事情:
<?php
$user = mysql_real_escape_string($_GET['user']);
$SQL = "SELECT * FROM users WHERE username = '$name'";
//run $SQL now
...
?>
如果要将文本存储在数据库中,然后将其打印在网页上,请考虑使用htmlentities
[编辑]或者如awshepard所说,你可以使用addslashes()和stripslashes()函数[/ Edit]
以下是防范XSS攻击的一个卫生消毒示例:
<?php
$str = "A 'quote' is <b>bold</b>";
//Outputs: A 'quote' is <b>bold</b>
echo $str;
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str, ENT_QUOTES);
?>
链接地址: http://www.djcxy.com/p/21643.html
上一篇: PHP input sanitizer?