【问题标题】:Hardcopy of CDN assests , security , Production. CDN 资产 硬拷贝 , 安全 , 生产 ;
【发布时间】:2019-01-01 22:03:12
【问题描述】:

我有 dotnet 核心服务器,我想获取 jQuery 和引导文件。

我的问题是:在 Production 毕业软件上,我可以使用 hard-copy 并且服务器将每天更新文件的硬拷贝Microsoft CDN 还是我应该遵循警告并让客户直接从 CDN 获取他的副本?

使用此方法是否存在安全问题?

https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview

警告: 生产应用程序不应硬依赖 CDN 资产。应用程序应测试引用的 CDN 资产,并在 CDN 不可用时使用备用资产。

【问题讨论】:

  • 使用 CDN 不会带来安全风险,但这确实意味着如果 CDN 提供商关闭,您的应用程序将无法正常工作(不应该发生,但确实会发生)。如果您想避免使用 CDN,只需转到您拥有的 CDN 链接,复制文本,将其保存到文件中,然后将该文件包含在您的应用程序中。这不会按照您的要求“自动更新”文件,但是恕我直言,自动更新像 jQuery 这样的依赖项绝对是一个坏主意,因为每天这样做几乎肯定会在某些时候破坏您的应用程序。您使用的其他库依赖于该版本,更改此类内容应谨慎进行并经过测试
  • 仅供参考,您所说的 CDN 文件永远不会更改。 CDN 文件旨在始终保持不变。如果库被更新,一个新的 CDN 文件将被创建,具有新的名称(可能具有更新的版本号),但旧文件仍然存在,旧名称和相同的内容
  • 感谢您的宝贵时间,但是对 CDN 资产的硬依赖是什么意思?你能解释一下吗
  • 您能否发表评论作为答案。

标签: jquery security .net-core production microsoft-cdn


【解决方案1】:

使用 CDN 不会带来安全风险,但这确实意味着如果 CDN 提供商出现故障,您的应用程序将无法正常工作(不应该经常发生,但可能会发生)。

为什么你会或不想使用 CDN,我会推迟到 more informed folks

如果您决定不使用 CDN,只需转到您拥有的 CDN 链接,复制文本,将其保存到文件中,然后将该文件包含在您的应用中。将所有链接指向此文件而不是 CDN。

这不会按照您的要求“自动更新”文件,但恕我直言,自动更新像 jQuery 这样的依赖项绝对是个坏主意,因为每天这样做几乎肯定会在某些时候破坏您的应用程序。您使用的其他库依赖于特定版本的事物,应谨慎更改此类依赖项并在发布前彻底测试,绝对不能通过自动化过程。

仅供参考,您所说的 CDN 文件永远不会更改。那就是https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js 永远不会改变。 CDN 文件中的文件内容应始终保持不变。如果库被更新,将创建一个具有新名称(可能具有更新的版本号)的新 CDN 文件,但旧文件仍将保留旧名称和相同内容。

关于这一点:

警告:生产应用程序不应硬依赖 CDN 资产。应用程序应测试引用的 CDN 资产,并在 CDN 不可用时使用备用资产。

基本上,这似乎是在说,“不要设计你的应用程序,它只是链接到 CDN 文件,如果文件不存在,你的应用程序就会失败。相反,链接到 CDN,但你的代码应该检查该 CDN 文件已加载,如果没有,请尝试从其他位置加载。

就我个人而言,在大多数情况下,我更喜欢所需文件的本地副本(最好是缩小版)并避免使用 CDN,除非我正在构建的东西特别需要保持项目总大小尽可能小。

【讨论】:

  • @dxfoso 乐于助人:)
猜你喜欢
  • 2013-08-23
  • 1970-01-01
  • 2018-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多