我是网络项目,我允许用户使用CKEditor,这就是为什么我需要从任何XSS保护我。如何最大限度地降低使用XSS“受到攻击”的风险?
我不知道这是否足够,我猜不是:
strip_tage(Input::get('text'), '<p><a><h1><h2>');
所以问题是如何在服务器端从CKEditor进行XSS Clean以及我需要在CKEditor端做什么,哪些插件要删除(因为我删除了源代码插件,也许我也应该删除样式插件?)? ??
答案 0 :(得分:5)
它专门用于清理HTML并修复无效标记,例如错误的嵌套标记或未转义的特殊字符。
从CKEditor中删除哪些插件无关紧要,恶意用户可以完全绕过CKEditor并提交他们想要的任何字符串。
带有strip_tags
的 $allowable_tags
无法提供足够的XSS保护,因为脚本和样式可以嵌入标记属性,例如href
,onmouseover
,{{ 1}}等。通过添加onerror
和id
属性,也可以重用某些应用程序样式和脚本。