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