缺少内容安全策略 header - chrome 和 firefox 的问题
Missing content security policy header - issue with chrome and firefox
我必须修复经典 ASP 应用程序丢失的内容安全策略 Header 问题。我们在 Web.config
中添加了以下内容
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="default-src" />
</customHeaders>
</httpProtocol>
</system.webServer>
Post 更改在 IE 中应用程序正常运行,但在 Mozilla 和 Chrome 中应用程序未正确呈现(css 未正确加载)。
如果我也添加相同的特定 asp 页面(Response.AddHeader "Content-Security-Policy","default-src"),同样的问题也会发生。
请指教
您可能想更好地熟悉 CSP(内容安全策略)的作用。从安全的角度来看,这实际上是一个好主意。
在没有明确设置的情况下激活策略(在本例中为 "default-src")与将其设置为 "none" 相同。那么你的设置是做什么的...
<add name="Content-Security-Policy" value="default-src" />
...告诉浏览器不要接受来自任何 来源的资源。您说过此页面的默认允许来源是 "none"。没有 link 图片,没有 CSS,没有脚本。您已将其全部关闭。
更好的默认值可能是:default-src self;
这将允许您 link 到 CSS 和同一域中的 JS 文件。可能添加 style-src self unsafe-inline;
,但我不建议 script-src
.
当然,这完全取决于您的网站。如果您使用内联 <script>
和 <style>
标签,请查看 CSP 随机数——它们非常易于使用,并且比 unsafe-inline
更安全。如果您的页面上到处都是 "onclick",则您必须进行一些清理。 (十多年来一直不鼓励使用这种类型的编码,但您可能每天都在处理旧代码。)
就我个人而言,我不会在服务器级别进行设置。我将它设置在 PHP 中,如果某个特定页面出于某种原因需要更宽松的安全性(例如使用 Google 图表,由于 eval()
语句,它需要真正宽松的 CSP。)它允许灵活性。 ,并且您不能在服务器级别使用随机数,因为它们必须与页面同时生成。
我必须修复经典 ASP 应用程序丢失的内容安全策略 Header 问题。我们在 Web.config
中添加了以下内容<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="default-src" />
</customHeaders>
</httpProtocol>
</system.webServer>
Post 更改在 IE 中应用程序正常运行,但在 Mozilla 和 Chrome 中应用程序未正确呈现(css 未正确加载)。
如果我也添加相同的特定 asp 页面(Response.AddHeader "Content-Security-Policy","default-src"),同样的问题也会发生。
请指教
您可能想更好地熟悉 CSP(内容安全策略)的作用。从安全的角度来看,这实际上是一个好主意。
在没有明确设置的情况下激活策略(在本例中为 "default-src")与将其设置为 "none" 相同。那么你的设置是做什么的...
<add name="Content-Security-Policy" value="default-src" />
...告诉浏览器不要接受来自任何 来源的资源。您说过此页面的默认允许来源是 "none"。没有 link 图片,没有 CSS,没有脚本。您已将其全部关闭。
更好的默认值可能是:default-src self;
这将允许您 link 到 CSS 和同一域中的 JS 文件。可能添加 style-src self unsafe-inline;
,但我不建议 script-src
.
当然,这完全取决于您的网站。如果您使用内联 <script>
和 <style>
标签,请查看 CSP 随机数——它们非常易于使用,并且比 unsafe-inline
更安全。如果您的页面上到处都是 "onclick",则您必须进行一些清理。 (十多年来一直不鼓励使用这种类型的编码,但您可能每天都在处理旧代码。)
就我个人而言,我不会在服务器级别进行设置。我将它设置在 PHP 中,如果某个特定页面出于某种原因需要更宽松的安全性(例如使用 Google 图表,由于 eval()
语句,它需要真正宽松的 CSP。)它允许灵活性。 ,并且您不能在服务器级别使用随机数,因为它们必须与页面同时生成。