使用 Visual Studio Web.Config 转换,我想在 Web.Debug.Config 中包含以下行:<add source="*.amazonaws.com" />
这是我的 Web.config
<configuration>
<!--
-- More config here
-->
<nwebsec>
<httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="NWebsecConfig/HttpHeaderSecurityModuleConfig.xsd">
<securityHttpHeaders>
<content-Security-Policy enabled="true">
<default-src none="true" />
<script-src self="true" unsafeEval="true">
<add source="https://cdnjs.cloudflare.com"/>
</script-src>
<style-src unsafeInline="true" self="true">
<add source="https://cdnjs.cloudflare.com"/>
</style-src>
<img-src self="true">
<add source="data:" />
<add source="*.w3.org"/>
<!-- ******** I want to insert new source here for Dev ******** -->
</img-src>
<object-src none="true" />
<media-src none="true" />
<frame-ancestors none="true" />
<report-uri enableBuiltinHandler="true"/>
</content-Security-Policy>
</securityHttpHeaders>
</httpHeaderSecurityModule>
</nwebsec>
</configuration>
我已经在 Web.Debug.config中完成了这里的建议:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web></system.web>
<nwebsec>
<httpHeaderSecurityModule> <!-- I have remove xmlns=... from this element -->
<securityHttpHeaders>
<content-Security-Policy enabled="true">
<img-src self="true" xdt:Transform="Remove" />
<img-src self="true" xdt:Transform="InsertIfMissing">
<add source="data:" />
<add source="*.w3.org"/>
<add source="*.amazonaws.com" />
</connect-src>
</content-Security-Policy>
</securityHttpHeaders>
</httpHeaderSecurityModule>
</nwebsec>
</configuration>
但是没有添加新行,我该怎么做?
我认为这是因为httpHeaderSecurityModule
有xmlns
属性但不知道如何解决这个问题?
请注意,我已从转换文件中删除了xmlns=...
from httpHeaderSecurityModule
,如果我包含命名空间,则会收到以下语法错误:
未声明“http://schemas.microsoft.com/XML-Document-Transform:Transform”属性