提供jQuery的CDN有多安全?

前端之家收集整理的这篇文章主要介绍了提供jQuery的CDN有多安全?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们构建具有公共(非安全)区域和安全(通过HTTPS传递)区域的站点,并且我们使用jQuery库。

最近我建议我们使用Google CDN进行jQuery传递。我的一些同事对这种交付JavaScript库的安全性方面表示担忧。

例如,他们提到有人可能劫持DNS服务器,然后注入恶意修改的库,为不同的安全攻击敞开大门。
现在,如果黑客可以通过Google CDN注入恶意代码,那么如果从网站本身提供jQuery,他可能会这样做吗?

看来,Google CDN可以通过SSL支持服务库。

从CDN提供的jQuery真的不那么安全,然后从服务器本身提供服务?这个威胁有多严重?

解决方法

降低风险的一种方法是对从Google获取文件执行校验和,并将其与已拥有的已知的良好校验和进行比较。

为了回应Google是否以任何方式更改这些文件的问题,Google的Google员工Ben Lisbakken suggested comparing MD5 checksums是由Google提供的文件提供给从其维护者的主站点获得的同一文件的规范版本。在链接的网站上阅读评论八。

如果您担心DNS劫持,那么当然,相同的问题将适用于从“原始”网站获取文件。您也可能不希望在每个请求上对jQuery文件运行校验和的速度处罚 – 除非你非常偏执。当然,这样做会消除使用CDN的所有优点。

但假设你只是有点偏执,你可以尝试这样的:

>确保您引用了Google的独特和特定版本的jQuery文件。例如,请执行以下操作:

http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

而不是这样:

http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js

后一版本现在可能会返回1.4.2,但是明天会是1.4.3。如果您具有http和https需求的组合,可以使用协议相关的URL,如下所示:

//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

>最初为此文件生成并存储自己的校验和。
>定期重复该过程,并确保新的校验和与旧的校验和匹配。如果没有,就会听到klaxons的声音。

当然可以这样做。你决定什么间隔是有意义的。每一分钟?每五个您现在拥有自动杀死开关的功能,灵敏度可以根据您的喜好进行调整。 “监视器”程序当然不需要在您要保护的应用程序中同步运行;也许您在同一台服务器上运行一个小型实用程序应用程序,仅为此目的。

很容易测试:只是改变存储的哈希。由于您引用了特定的文件版本,因此每次次要版本更新都不会按紧急按钮。当您想要移动到新版本的jQuery时,请更改站点上的AJAX API URL并存储新的哈希值。

原文链接:https://www.f2er.com/jquery/183040.html

猜你在找的jQuery相关文章