【发布时间】:2013-08-10 00:39:10
【问题描述】:
我想以index.html 的形式传输敏感信息,这些信息只能在页面加载期间通过 JavaScript 访问。之后页面上的 JavaScript 应该无法访问该数据。
我可以在加载时轻松地从 DOM 中删除敏感数据,但我还需要防止使用 XMLHTTPRequest 或从 IFrame 中抓取页面来加载页面。
我可以使用 X-Frame-Options 标头和其他帧破坏技巧来阻止 IFrame,但是如何阻止使用 XHR 加载页面?
我想出的最佳解决方案是为 index.html 提供一个 CSP 标头,该标头在 connect-src 指令中不包含 self,但是我无法 XHR 到我的服务器上的任何 URL,我需要将所有其他可能的连接目标列入白名单。一定有更好的方法来做到这一点。
【问题讨论】:
-
你能提供页面和脚本的最小示例吗?
-
我很好奇在您的域上运行的不受信任的脚本是从哪里来的。
-
假设我想保护 CSRF 令牌不被 XSS 攻击“窃取”。我可以将我的代码和令牌保存在一个闭包中,并且相当安全,但我如何将令牌放入其中?
-
@FabianJakobs 无法向其他域发送 AJAX 请求(除非您以正确的方式为攻击者配置 CORS),但攻击者可以将您的页面包含在
<script>标记中。跨度> -
你的整个前提是有缺陷的。你真的,真的无法以任何远程安全的方式阻止这种情况。您尝试做的整个想法与互联网的本质是对立的。
标签: javascript security browser web