如果输入有html,则清理用户输入

时间:2014-03-13 21:57:06

标签: php mysql sql sanitization

我的用户输入将包含我需要清理的html。目前我正在使用:

$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = preg_replace('/[^a-zA-Z0-9_-]/', '', $data);

用于其他输入(w / o html)。我允许使用下划线和连字符,因为它们是用户个人资料的推特用户名。是否有任何关于使用html标记清理输入的想法?

1 个答案:

答案 0 :(得分:1)

通过其他方式进行HTML清理可以保护网站免受XSS攻击。根据{{​​3}}清理HTML取决于您打印用户数据的方式,例如:下表显示了将应用不同保护机制的不同方案:

enter image description here

php strip_tags函数可以用于某些情况,但对于所有类型的恶意代码都不安全。我建议关注OWASP。

相关问题