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 &lt;b&gt;bold&lt;/b&gt;
    echo htmlentities($str);

    // Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
    echo htmlentities($str, ENT_QUOTES);
?>
链接地址: http://www.djcxy.com/p/21643.html

上一篇: PHP input sanitizer?

下一篇: Sanitising user input using Python