在内容安全策略中限制CDN上的文件



假设有A,B,C,DE. js文件存在于CDN中,但我们只使用BC.目前csp中script-src允许所有的js从CDN下载的文件但我想将下载限制为BC我的申请?这可以在内容安全策略配置中完成吗?

<add name="Content-Security-Policy" value="default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com />
  1. 您可以使用路径在内容安全策略中(路径应该有一个尾斜杠)。例如:

    script-src cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/;

允许从指定路径加载任何脚本,例如https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.jshttps://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js
但不允许https://cdnjs.cloudflare.com/ajax/libs/jquery/2.6.1/jquery.js

  1. 您可以指定确切的文件名如:

    script-src cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js;

这将只允许指定的脚本。

请记住,如果你的web应用程序(或CDN)允许打开重定向,上面可以绕过,因为CSP不会检查重定向的路径。所以:

<script src='https://your_domain.com.com/?redirect=https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.4/vue.js'>

允许加载vue.js脚本。

最新更新