如何仅使用HTML和PHP来阻止XSS(跨站点脚本)?
我已经看过很多关于这个主题的帖子,但我还没有找到一篇清晰简明地说明如何实际防止XSS的文章.
我正在寻找class/util等来清理HTML代码,即删除危险的标签,属性和值以避免XSS和类似的攻击.
我从富文本编辑器(例如TinyMCE)获取html代码,但它可以通过恶意方式发送,省略TinyMCE验证("异地提交的数据").
在PHP中有什么像InputFilter一样简单易用吗?我能想象的完美解决方案就是这样(假设清理程序封装在HtmlSanitizer类中):
String unsanitized = "...<...>..."; // some potentially
// dangerous html here on input
HtmlSanitizer sat = new HtmlSanitizer(); // sanitizer util class created
String sanitized = sat.sanitize(unsanitized); // voila - sanitized is safe...
Run Code Online (Sandbox Code Playgroud)
更新 - 更简单的解决方案,越多越好!小的util类对其他库/框架的外部依赖性尽可能小 - 对我来说是最好的.
那个怎么样?