11

可能重复:
使用 PHP 清理用户输入的最佳方法是什么?

我正在使用TinyMCE来允许用户编辑网页的一小部分。

该字段被保存到数据库中。

是否有一个正则表达式可以用来清理传入的 HTML 代码,从而避免任何XSS/NULL/DROP TABLES 类型的攻击?

我已经在单行输入文本/数字等上完成了此操作,但不确定在接收 HTML 字符串时如何处理。

4

3 回答 3

11

我建议玩HTMLPurifier

于 2012-05-21T14:51:49.633 回答
5

您可以使用 PHP 函数:striptagshtmlspecialchars

http://php.net/manual/en/function.strip-tags.php

于 2012-05-21T14:50:07.127 回答
2

你可以使用这个 -

 function safe_sql($obj)
{
    $obj = htmlspecialchars($obj);
    $obj = str_replace('"',""",$obj);
    $obj = str_replace("'","'",$obj);
    $obj = str_replace("`","`",$obj);
    $obj = mysql_real_escape_string($obj);
    return $obj;
}

我正在使用它,它工作正常。并且您也可以使用此功能使其正常(从数据库中提取数据后)-

 function to_Normal($data)
{
    $data = htmlspecialchars_decode($data);

    $data = str_replace(""",'"',$data);
    $data = str_replace("'","'",$data);
    $data = str_replace("`","`",$data);
    $data = nl2br($data);
    return $data;
}
于 2012-05-21T15:57:56.113 回答