2016-03-07 12 views
10

Szukam dobrego sposobu na wdrożenie stosunkowo silnego nagłówka Content-Security-Policy dla mojej aplikacji ASP.NET WebForms. Przechowuję tak dużo JavaScriptu, jak to możliwe w plikach, a nie w miejscu, ale domyślnie WebForms wstrzykuje dużo skryptu liniowego dla rzeczy tak prostych jak składanie formularzy i podstawowe wywołania AJAX.Content-Security-Policy w ASP.NET WebForms

MVC ma kilka prostych sposobów implementacji nonces, szczególnie przy pomocy bibliotek zewnętrznych, takich jak NWebsec, ale nie mogę znaleźć metod ich implementacji za pomocą WebForms. Nawet nie miałbym problemu z używaniem skrótów, gdyby istniał sposób przewidywania i pobierania skrótu dla każdego tagu skryptowego .NET wstrzykniętego.

Nienawidzę zezwalać na wartość "niebezpieczny inline". Czuje się źle, gdy trzeba wyłączyć tak potężną funkcję bezpieczeństwa. Czy istnieje rozsądny sposób wdrożenia go w WebForms?

+0

Czy kiedykolwiek znalazłeś odpowiedź na to pytanie, Andy? – Resource

+0

Nie zrobiłem tego. Próbowałem nawet pozyskać pomoc [Troy Hunt] (https://www.troyhunt.com/) i [André Klingsheim] (http://www.dotnetnoob.com/) na [Twitterze] (https: // twitter .com/askrenes/status/705471606311800836), bezskutecznie. – Andy

Odpowiedz

1

Miałem ten sam problem i smutno mi było powiedzieć, że to najlepsze, co zrobiliśmy. Zasadniczo określiliśmy, czego używamy i czego nie używamy. W niektórych przypadkach musieliśmy wystawić niebezpieczną ewaluację, ponieważ używaliśmy zewnętrznych kontrolek, które nie mogłyby bez niej działać. Dostajemy co najmniej unikanie połączeń z zewnętrznym adresem URL.

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' 
Powiązane problemy