У меня есть одностраничное приложение (встроенное в .NET core MVC 2.2), где html-раздел загружается на лету.
В основном документе добавленная политика CSP с динамически генерируемым заголовком выглядит так:
Content-Security-Policy: script-src 'self' 'nonce-I64vb811BxRNGV9Xf0pM'
Затем идет раздел страницы, загружаемый с помощью функции загрузки jquery ajax. Раздел страницы содержит скрипт (из src) с одноразовым значением. Раздел страницы, обслуживаемый с заголовком CSP, выглядит так:
Content-Security-Policy: script-src 'self' 'nonce-ci5TQsyidT8x2jwBLRHS'
все хорошо, кроме браузеров (хром, сафари блокирует скрипт), с сообщением:
jqueryscriptsbundle.js:formatted:43 Refused to execute inline script
because it violates the following
Content Security Policy directive: "script-src 'self' 'nonce-I64vb811BxRNGV9Xf0pM'
Итак, браузер сравнивает одноразовый номер скрипта, то есть ci5TQsyidT8x2jwBLRHS, со значением одноразового номера корневой / главной страницы I64vb811BxRNGV9Xf0pM, следовательно, скрипт заблокирован.
Это правильное поведение? Что я могу сделать, чтобы он заработал?