html/css输入的表单安全性


Form security for html/css input

我正在用PHP构建一个模板工具,允许用户将html/css内容输入表单文本区域。目前我正在运行:

Strip_Tags(只允许基本的html和样式标签)
然后:
htmlentities
然后:
htmlspecialchars_decode(例如,将允许的标签从<br>转换回)

我的表单操作使用htmlentities($_SERVER['PHP_SELF'])方法。

关于还需要什么来保护这个在线消费工具,有什么建议吗?我需要验证吗?如果需要,是什么过滤器?是否有某些恶意代码我也应该删除?

基于所需的输入(仅限html/css),是否有最佳实践?我(目前)不使用数据库,但如果需要扩大规模,我会喜欢一个伞形解决方案。

感谢

第一行保护应该是转义字符串,例如mysqli有一个方法real_escape_string(),它可以防止任何可以被解释为SQL的代码被执行,这个方法主要用于数据库安全。

您应该确保用户不会通过转义斜杠在服务器上执行恶意代码,方法是使用addslashes()函数。

除此之外,从基本的安全角度来看,你应该很好。