集成外部 JavaScript 的最佳实践?

信息安全 javascript xss 同源策略
2021-08-18 20:50:25

我正在寻找一些关于如何将外部 JavaScript 集成到网站的标准建议。例如,在mywebsite.com

<script src='//externalsite.com/js/script.js'></script>

问题是:如果externalsite.com被黑客入侵,mywebsite.com就有风险。并且此 JavaScript 不需要访问mywebsite.com内容(例如聊天框)。

什么是正确的方法?iFrame 是要走的路吗?

澄清一下,JS 是一个与访问者“聊天”的虚拟助手。外部站点管理 JS 代码,更重要的是管理对话框。我担心对话框中的 XSS。

2个回答

链条的强度取决于其最薄弱的环节。

因此,请确保您信任您的内容交付网络 (CDN)。 我保证黑客入侵 Google 的服务器比您的服务器更难。Cloudflare 是另一个具有安全意识的 CDN 示例。

混合内容和传输层安全性不足可能会危及帐户。通过纯文本传输任何页面或脚本都可能导致妥协。一个安全的源标签应该是src=https://,任何其他的都不应该被允许。

解决此问题的最佳方法是从第三方获取 JavaScript 的副本,然后将其托管在您的本地站点上。这样你就不会冒着直接影响你的第 3 方妥协的风险(尽管它仍然可能取决于我认为 JavaScript 的作用)。

如果不这样做,我认为您将不得不审核/审查第 3 方系统的安全性,以确保那里的安全级别与使用 JavaScript 的系统相同或更高。