可能重复:
What's the best method for sanitizing user input with PHP?
我正在使用 TinyMCE 来允许用户编辑网页的一小部分。
此字段将保存到数据库中。
我是否可以使用正则表达式来清理传入的HTML代码,以避免任何 XSS / NULL / DROP TABLES类型的攻击?
我已经在单行输入文本/数字等上完成了这项工作,但在接收HTML字符串时不知道如何解决这个问题。
答案 0 :(得分:11)
我建议您使用HTMLPurifier。
答案 1 :(得分:5)
您可以使用PHP函数:striptags
和htmlspecialchars
:
答案 2 :(得分: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;
}