Apache: обойти глобальную конфигурацию CSP с помощью .htaccess - PullRequest
0 голосов
/ 25 апреля 2019

Недавно я внедрил несколько строгих политик безопасности контента на моем 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 был немного более "слабым". Inline 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, который я мог бы настроить здесь и там, если требуется?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...