Apache: обойти глобальную конфигурацию CSP с помощью.htaccess
Недавно я внедрил несколько строгих политик безопасности контента на моем сервере Apache (v.2.4.25). Работает как шарм. Вот что я имею в apache.conf
<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'none';img-src 'self'; object-src 'none'; script-src 'self'; frame-src 'self' https://www.google.com https://www.youtube.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.googleapis.com https://fonts.gstatic.com"
Header always set Strict-Transport-Security "max-age=15552001; includeSubDomains;"
</IfModule>
Тем не менее, один из моих веб-сайтов требует, чтобы мой conf был немного более "слабым". Встроенные JS должны быть разрешены. Я думал, что смогу обойти глобальные настройки apache, добавив этот пункт в .htaccess в корне веб-сайта:
<FilesMatch "\.(html|php)$">
<IfModule mod_headers.c>
Header set Content-Security-Policy "script-src 'self' 'unsafe-inline' static.doubleclick.net;"
</IfModule>
</FilesMatch>
Тем не менее, это, похоже, не работает, поскольку заголовки ответа по-прежнему говорят:
Content-Security-Policy: default-src 'none';img-src 'self'; object-src 'none'; script-src 'self'; frame-src 'self' https://www.google.com https://www.youtube.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.googleapis.com https://fonts.gstatic.com
Можно ли обойти глобальный apache.conf для конкретного веб-сайта с помощью .htaccess или первый все еще преобладает? Могут ли оба быть смешаны вместе, чтобы я мог иметь общий CSP Conf, который я мог бы настроить здесь и там, если требуется?