首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NWebSec对不同目录应用不同的内容安全策略

使用NWebSec对不同目录应用不同的内容安全策略
EN

Stack Overflow用户
提问于 2018-09-21 11:35:18
回答 1查看 1.3K关注 0票数 1

我有一个ASP.NET MVC网站与一个高度定制的Umbraco 6后端作为网站的CMS。

我一直在升级整个站点的内容安全策略( CSP )头,我正在使用NWebsec进行升级,现在该网站很高兴地使用CSP 3严格的动态,并且每个脚本标记上都没有CSP,一切都很好。

不幸的是,我还未能将相同的更改应用于Umbraco管理区域,所以大部分更改根本不起作用。

所以,我想做的是将严格的CSP 3政策应用于网站的公共访问部分,并将放松的CSP策略应用到被锁定的管理区域。

Umbraco管理区域位于子目录/umbraco/下,因此我认为实现这一点的最好方法是在站点的Web.config文件中使用两个不同的位置元素。

所以我的Web.config现在看起来像是:

代码语言:javascript
复制
<!-- Specific CSP for Umbraco -->
<location path="~/umbraco">
  <nwebsec>
  ...
  <content-Security-Policy enabled="true">
    ...
    <script-src self="true" unsafeInline="true" unsafeEval="true">
      <add source="data:" />
    </script-src>
    ...
  </content-Security-Policy>
  </nwebsec>
</location>

<!-- default CSP for everything else -->
<location path=".">
  <nwebsec>
  ...
  <content-Security-Policy enabled="true">
    ...
    <script-src self="true" unsafeInline="true" unsafeEval="false" strictDynamic="true">
    </script-src>
    ...
  </content-Security-Policy>
  </nwebsec>
</location>

但这会将默认配置应用于整个站点。

我不确定我是否弄错了配置,或者NWebSec不支持我想要做的事情,或者是重定向或其他一些特定的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-31 11:04:17

通过在Web.config子目录中创建一个单独的/umbraco来修正这个问题。

主Web.config:

<location path="." allowOverride="true"> <nwebsec> ... <content-Security-Policy enabled="true"> ... <script-src self="false" unsafeInline="true" unsafeEval="false" strictDynamic="true"> <add source="www.example.com" /> </script-src> ... </content-Security-Policy> </nwebsec> </location>

Web.config在/umbraco子目录中:

<location path="." allowOverride="true"> <nwebsec> ... <content-Security-Policy enabled="true"> ... <script-src self="true" unsafeInline="true" unsafeEval="true" strictDynamic="false"> <clear/> <add source="www.other-example.com" /> </script-src> ... </content-Security-Policy> </nwebsec> </location>

子目录中的配置覆盖主Web.config -因此strictDynamic="false“关闭了对那些CSP3非can的使用,而clear元素删除集合中所有预先存在的元素,以便可以使用新的域集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52442877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档