javascript - 在特定 block /div(包含可疑 HTML)中禁用 javascript?

标签 javascript security code-injection xss

是否可以以任何方式禁止浏览器在 block /部分/元素内执行脚本?

我的方案是,我让我的( future )用户创建“丰富的内容”(使用 CK-editor)。 稍后将向其他用户显示的内容 - 包含所有隐含的危险:xss、重定向、身份盗用、垃圾邮件等等......

在看到有多少已知的“攻击向量”之后,我或多或少地放弃了尝试“清理”传入的 XHTML:http://ha.ckers.org/xss.html

我真正想要的是这样的东西:

<scriptOFF>

可疑的 HTML

/scriptOFF>

最佳答案

理想的方式是不接受来自最终用户的 html/javascript。如果您可以接受该限制,则只需确保您 encode the output根据适当的上下文。不要重新发明轮子,只需为此目的使用现有的库即可。

但是如果您必须接受 HTML,请使用类似 OWASP's ANTI-SAMY 的库或 HTML Purifier .它们正是为此目的而 build 的。

关于javascript - 在特定 block /div(包含可疑 HTML)中禁用 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3044485/

相关文章:

javascript - 添加键码事件处理程序后如何将其删除?

php - 我应该在所有输出上使用 htmlentities() 吗? (防止XSS攻击)

php - 使用 PHP 控制用户输入的 Javascript/HTML/textarea 并防止 iframe hack

java - 在 Web 应用程序中获取 Guice Injector

javascript - 从数据库 firebase javascript 捕获错误的最佳方法

javascript - jQuery after() 未捕获语法错误 : Unexpected token ILLEGAL

javascript - 查找当前幻灯片 div 并添加类

ios - SSL - 哈希密码与否

security - 为什么SSH不使用互锁协议(protocol)?

javascript - 有什么方法可以使用户上传的 SVG 图像免受代码注入(inject)等的影响?