在我的网站上,用户将能够为内容输入html标签,让文本可以是粗体,斜体或链接和图像。 我打算使用CKEditor的或真正使用HTML标签(未BBC代码或wiki语法)如果我允许HTML TinyMCE的,当文本将显示它被解释,它可能包含一些“黑客”像JavaScript或XSS .. ..我该怎么做才能避免这个安全问题? 我必须列出想要的HTML标签,并删除所有不必要的标签和内容? 我可以使用带标签呢?
它是如何在计算器例如做了什么?
你知道一些插件的PHP / jQuery插件谁可以安全地保存和安全地诠释有限html标签?
在此先感谢您的帮助
您需要同时使用服务器端的HTML消毒剂和内容安全策略防止行脚本,评估和远程托管脚本
根据您所使用的语言进行服务器端,使用HtmlSanitiser或Python漂白。
无论是使用客户端验证或幼稚过滤不会保护你的所有:
- 客户端验证,如@Smamatti建议,如果用户手动提交表单不会帮你。
- 幼稚滤波如
str_replace('<script>', '', $str);
通过@ user1477388建议有人上传时不会保护你<script src="foo">
或<<script>script>alert('foo');</script>
或<body onload="alert('foo')";</body>