是否有任何 HTTP 标头可以禁用特定页面的 Javascript?我的网站提供用户生成的 HTML 内容(这就是为什么我不能只使用htmlenitities
)并且我想防止脚本(JavaScript 注入)。
我已经使用 HttpOnly-cookies 设置为仅在主域上进行身份验证,而用户内容仅显示在无法读取 cookie 的子域上。问题是仍然有太多的可能性来执行 JavaScript - 例如使用事件属性,例如onclick
,Internet Explorer 在 CSS 中甚至有一个属性来允许 JavaScript 执行 ( expression
),这是我以前从未听说过的。我读到的另一个有趣的想法是抛出异常以阻止后面的代码。另一个想法是定义一个包含所有允许的标签的列表以及一个包含每个允许的属性名称的数组,但这是一项非常艰巨的工作,我想这不会涵盖所有可能的注入。
我想我不是唯一一个遇到这个问题的人,所以有人知道覆盖所有可能有害代码的可能性 - 至少在现代浏览器中?
一个类似于 的简单虚构标题X-Scripting: disabled
将使生活变得如此轻松!