Как исправить ошибку 403 при загрузке script.js Fathom Analytics с CSP?

У меня есть строгая CSP (Content-Security-Policy), позволяющая для загрузки из пользовательского домена.

в на апаче:

      script-src 'self' 'nonce-%{UNIQUE_ID}e' my-custom-domain.example.com;

Прикладной уровень:

      <script src="https://my-custom-domain.example.com/script.js" data-site="ABCDEFGH" defer nonce="<?php echo $_SERVER['UNIQUE_ID']; ?>"></script>

Он всегда возвращает «загрузка не удалась» с ошибкой 403 в консоли.
Нонс был введен для тестирования, как я и думал, это может решить проблему. Это не так. (Я знаю, я знаю, что это не самый безопасный метод использования одноразового номера.)
Я также пробовал варианты пользовательского домена (с протоколом, без протокола, поддомены с подстановочными знаками и т. д.).

Отключение CSP «исправляет» проблему. Это означает, что 403 срабатывает только тогда, когда активен CSP.

Я относительно новичок в CSP и не знаю, как действовать дальше.
Любые предложения приветствуются.

1 ответ

Сразу после публичного обращения я нашел решение:
мне пришлось избавиться от директивы «Referrer-Policy» или, скорее, предоставить пустую, например: Header always set Referrer-Policy "".
После этого обязательно наймите rel="no-referrer"вместо этого на все внешние ссылки.

Также мне пришлось добавить пользовательский домен в директиву img-src (поверх директивы script-src).
Для этой работы нет необходимости в одноразовом номере.

Другие вопросы по тегам