У меня MVC приложение, разработанное в ASP. NET MVC 4. Я использую JavaScript на нескольких страницах. Некоторые из javascripts упоминаются как
@Scripts.Render("~/Scripts/bootstrap")
@Scripts.Render("~/Scripts/js")
, а также есть некоторые встроенные сценарии, такие как
<script type="javascript">
// javascript code
</script>
Я хочу реализовать Политику безопасности контента для этого сайта. Сайт размещен в IIS. Поэтому в IIS я добавляю заголовок политики безопасности содержимого в заголовок ответа HTTP как
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'self';
report-uri https://csp.withgoogle.com/csp/<unique_id>/<application_version>
Таким образом, каждый ответ будет включать этот заголовок.
Вопросы:
- Как добавить случайно сгенерированный одноразовый номер в теги сценария и, что важно, как IIS будет знать случайно сгенерированное значение одноразового номера, чтобы его можно было включить в заголовок ответа? (Я предполагаю, что каждый ответ будет иметь уникальное значение nonce)