У меня есть сайт начальной загрузки, который использует jQuery v3.4.0 (3.3.x имела ту же проблему).
Заголовок с сайта с политикой безопасности контента выглядит так:
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 2275
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'self'; img-src 'self' data: image/png; style-src 'self' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='
X-Content-Security-Policy: default-src 'self'; img-src 'self' data: image/png; style-src 'self' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='
Referrer-Policy: strict-origin-when-cross-origin
Vary: Cookie
Server: Werkzeug/0.15.1 Python/3.6.7
Date: Sat, 27 Apr 2019 21:37:07 GMT
Все мои скрипты размещены локально (так что 'self' должно хватить), нет встроенных скриптов или атрибуты стиля используются на самом сайте, но Chrome по-прежнему генерирует большое количество ошибок:
скриншот консоли ,
скриншот с jQuery-версией без minifed
Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='". Either the 'unsafe-inline' keyword, a hash ('sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='), or a nonce ('nonce-...') is required to enable inline execution.
Как видите, я также добавил хеш, который сам Chrome сгенерировал, в CSP, но, что бы я ни изменял (также пытался добавить этот хеш в 'script-src'), я все равно получаю ошибки того же типа.
Есть много похожих вопросов о chrome и CSP, но ни один из них не ответил, почему chrome запрещает сценарию редактировать стили, если это разрешено "self" или хэшем.