我正在构建一个将在 Azure 中运行的 ASP.NET MVC 3 应用程序。一切都运行良好,直到我切换到 https。现在我的大部分 jQuery 插件和其他一些 javascript 都不安全。
我正在使用 Datatables 库以及 jsTree、watermaks 和面包屑。这个脚本的大部分是为了让我们的网站看起来很吸引人。
有没有办法让这个安全?或者是时候迁移一个非常精简的 JavaScript 站点了?
感谢您的帮助!
我正在构建一个将在 Azure 中运行的 ASP.NET MVC 3 应用程序。一切都运行良好,直到我切换到 https。现在我的大部分 jQuery 插件和其他一些 javascript 都不安全。
我正在使用 Datatables 库以及 jsTree、watermaks 和面包屑。这个脚本的大部分是为了让我们的网站看起来很吸引人。
有没有办法让这个安全?或者是时候迁移一个非常精简的 JavaScript 站点了?
感谢您的帮助!
我通过 https 为我的整个网站提供服务,包括 jquery。
诀窍是使用支持 https 的 jQuery 的 CDN,或者将代码部署到您自己的站点并从您的域中包含它。在代码中,例如:
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
工作正常,将显示为安全元素。
现在,这真的安全吗?好吧,我通常相信 Google API 作为 CDN,我拥有的内容并不那么重要 - 但是,如果我希望确保完全控制 jQuery 部署,我可以自己托管它:
<script type="text/javascript"
src="https://mysite.com/static/js/jquery.min.js"></script>
两者都可以正常工作。底线:您不必从CDN 部署 jQuery,但是,如果您愿意,至少其中一个支持 https(其他可能,我没有进一步查看)。
需要考虑的一个问题 - 从 CDN 访问代码的原因之一是始终拥有最新版本的 jQuery 代码。自己部署它,你确实失去了这种即时性——你也获得了一点缓冲来应对中断更新,尽管希望这不应该是一个问题。
迁移到精简的 JavaScript 站点可能是一个好主意,至少这样您可以更轻松地审核 JavaScript,并且攻击区域要少得多,但是在编写代码时您必须有能力。
这让我想到了另一点,jQuery 到底是什么不安全?它只是关于页面上不安全内容的警告吗,这意味着您没有通过 HTTPS 加载 JavaScript 或类似内容,您应该从存储在服务器本身的副本中执行此操作,再次通过这种方式您可以审核该副本,最后可能值得从 jQuery 中删除任何实际上没有使用的 JavaScript 类和函数(我严重怀疑你是否正在使用它们),我们将必须生成一个所有函数的列表,称为所有函数,它们可以调用...... ..