Проблема с разрешением apache 2 script-src в политике безопасности контента
Мне нужно реализовать политику безопасности контента для клиента.
Все работает хорошо, кроме js-скриптов. Мне нужно разрешить внешние js-скрипты.
Код в моем vhost apache:
Header set X-Content-Type-Options: "nosniff"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set Content-Security-Policy "default-src 'self' https:// multiple domains ; img-src 'self' www.googletagmanager.com ; style-src 'self' 'unsafe-inline' ; script-src * 'self' 'unsafe-inline'; connect-src 'self' https://www.google-analytics.com https://www.googletagmanager.com/gtag/js ; object-src 'self'; form-action 'self' "
Header set X-Frame-Options: "sameorigin"
Header set X-XSS-Protection "1; mode=block"
Options FollowSymLinks MultiViews
AllowOverride All
Я добавил:
script-src * 'self' 'unsafe-inline';
Однако я все еще получаю сообщение об ошибке:
Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'.
Что делать ?
заранее спасибо
1 ответ
По сути, у вас есть два варианта:
- Хороший и безопасный вариант: переписать операторы eval, как описано здесь https://web.dev/csp/#eval-too.
- Плохой и небезопасный вариант: добавить unsafe-eval в script-src.