我正在创建类似应用程序生态系统的东西,其中每个应用程序都在沙盒 iframe 中运行并处理敏感数据。我想允许脚本,但我不希望 iframe 与任何第三方服务器通信,否则可能会泄漏此数据。
有没有办法像使用 Chrome 扩展程序一样强制执行白名单?我是否以错误的方式处理这个问题?
最佳答案
您需要限制所有事物可以连接的域,而不仅仅是 XHR(img
标签也可能泄漏数据)。现代浏览器提供了一项名为 Content Security Policy 的功能来执行此操作。 .
特别是,要将域列入白名单,您将需要返回如下所示的 header :
Content-Security-Policy: default-src 'self' safedomain.com securedomain.com
与任何与安全相关的内容一样,请确保您仔细阅读了该主题并了解您正在处理的内容的含义。从 Stack Overflow 答案中复制粘贴代码是不够的。
另请记住,某些较旧的浏览器不支持此功能,并且不会默默地强制执行它,因此您可能希望检测到这一点并防止这些浏览器暴露敏感数据。
关于javascript - 如何限制沙盒 iframe 可以连接的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35279566/