2016-03-07 149 views
10

我正在寻找一种为我的ASP.NET WebForms应用程序实现相对较强的Content-Security-Policy头的好方法。我将尽可能多的JavaScript存储在文件中而不是内联,但是默认情况下,WebForms会为内联脚本插入的许多以用于表单提交和基本AJAX调用等简单事情。ASP.NET WebForms中的内容安全策略

MVC有一些简单的方法来实现nonces,尤其是在第三方库(如NWebsec)的帮助下,但我似乎无法找到任何使用WebForms实现它们的方法。如果有一种方法可以预测和检索每个.NET注入脚本标记的散列,我甚至不会使用散列问题。

我讨厌允许'不安全的内联'值。感觉不对,需要关闭如此强大的安全功能。有没有一种合理的方式在WebForms中实现它?

+0

你有没有找到答案呢,安迪? – Resource

+0

我没有。我甚至尝试在[Twitter](https:// twitter)上登记[Troy Hunt](https://www.troyhunt.com/)和[AndréKlingsheim](http://www.dotnetnoob.com/)的帮助.com/askrenes/status/705471606311800836),无济于事。 – Andy

回答

1

我有同样的问题和悲伤的说,这是我们所做的最好的。我们基本确定了我们使用和不使用的内容。我们甚至不得不在其中的一些不安全评估中使用,因为我们使用的是第三方控件,如果没有它,工作将无法正常工作。我们至少得到的是避免调用外部网址。

default-src 'self'; 
child-src 'self' 'unsafe-inline' 'unsafe-eval'; 
object-src 'none'; 
script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.google-analytics.com; 
img-src 'self' https://www.google-analytics.com; 
style-src 'self' 'unsafe-inline'