Подтвердить что ты не робот

Политика безопасности контента в ASP.NET WebForms

Я ищу хороший способ реализации относительно сильного заголовка Content-Security-Policy для моего приложения ASP.NET WebForms. Я сохраняю как можно больше JavaScript в файлах вместо встроенных, но по умолчанию WebForms внедряет много встроенных script для таких простых вещей, как подача формы и основные вызовы AJAX.

MVC имеет несколько простых способов реализации nonces, особенно с помощью сторонних библиотек, таких как NWebsec, но я не могу найти методов их реализации с помощью WebForms. У меня даже не возникло бы проблемы с использованием хэшей, если бы был способ предсказать и получить хеш для каждого тега .NET с тегом script.

Я ненавижу использование значения "небезопасно-встроенное". Неправильно нужно отключить такую ​​мощную функцию безопасности. Есть ли разумный способ реализовать его в WebForms?

4b9b3361

Ответ 1

У меня была такая же проблема, и я сказал, что это лучшее, что мы сделали. Мы в основном определили, что мы используем и не используем. Нам даже пришлось ставить небезопасные оценки в некоторых из них, потому что мы использовали сторонние элементы управления, которые не могли работать без него. По крайней мере, мы избегаем вызовов внешнего 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'