javascript - 托管第 3 方 Javascript 有哪些相关风险?

标签 javascript xss frontend

我是公司的新开发人员,主要从事前端网络开发。我们的销售和营销人员经常要求我们的团队在我们的网站上加入第 3 方 javascript。

“这是一个‘小代码片段’。我们的 vendor 询问您是否可以将其放在我们的主页中”

这让我很紧张。

我知道这些脚本会降低我们的页面速度,而且我发现在很多情况下我不得不用 try/catch block 包围一些代码,以确保这些第 3 方错误不会影响网站上的其他脚本页。

这些脚本以各种形式出现...

有些是我们托管的 vendor 提供的脚本......

<script src="http://www.mycompany.com/js/vendor-file.js" type="text/javascript">

...有些是我们代码中的引用,但在外部托管

<script src="http://www.vendor.com/js/file.js" type="text/javascript">

...有些脚本内联出现在我们的网站上,它们通过写入 DOM 将标签插入我们的头部

var a = document.createElement("script"); a.type = "text/javascript" ... etc.

一个不太重要但仍然很重要的问题是 cookie 写入——超过 IE6 的 20 个 cookie 限制(是的,一个重要的客户群仍然在 IE6 上,他们代表真正的 $$$)——所以我们要求(希望)我们域上托管的 javascripts 不会丢弃任何额外的 cookie。

但是,除了 cookie 问题之外——还有哪些额外的风险/场景/危险是我需要了解或应该注意的——这样我才能让我们的网站和我们的客户满意。

谢谢

-丰富

最佳答案

“不”是一个具有强大力量的大词。好好使用它。

您没有义务(法律和契约(Contract)协议(protocol)除外)包含来自您不了解和完全信任的来源的任何代码片段。如果您感到紧张,并且您要对网站的稳定性和安全性负责,请说不。

JavaScript 是一头需要驯服的野兽。一个看似无伤大雅的小脚本很容易让整个房子折叠。永远不要将任何简单的脚本视为“只是一个愚蠢的小东西”。只需要一个脚本来替换 JQuery、AJAX 或其他一些库所依赖的关键函数,您的网站就会在一片辉煌中崩溃。

关于javascript - 托管第 3 方 Javascript 有哪些相关风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893903/

相关文章:

javascript - 调试繁重的单页应用程序

javascript - 本地主机中带有 Node.JS 的 CSS/JS

html - 创建全屏 iframe

javascript - 在 Svelte 中, `:` 中的 `on:click` 是如何工作的?

angular - 当那个面板的表单组无效时,如何打开mat-expansion-panel?

javascript - 元素仅在检查元素后出现

javascript - 是否可以将 firebase 的图片上传 "uploadTask.on"监听器变成一个 promise?

xss - csrf 保护

internet-explorer-8 - IE8 XSS过滤器: what does it really do?

controller - NFC 前端与 NFC Controller - 有什么区别?