Можно ли настроить отчеты CSP на исключение известных ресурсов из черного списка?

Когда я использую Content-Security-Policy, зная, что он (и должен) блокировать некоторые элементы, есть ли способ получить отчеты обо всех нарушениях, кроме этих?

Я получаю, например, обращения от скрипта, который вставлен из какого-то продукта Касперского. Это' Замечательно, когда браузер блокирует этот скрипт, и мне не нужен отчет, так как я не могу его исправить и не хочу менять блок. Но когда какой-то другой ресурс случайно заблокирован (или действительно происходит нарушение безопасности), мне нужен отчет.

Есть ли способ создать черный список, который просто блокируется, и другой список ресурсов, о которых следует сообщать, когда они получают заблокирован?

0
задан 22 September 2016 в 19:23
1 ответ

Вы можете иметь несколько заголовков Content-Security-Policy. Каждый из них будет проверяться независимо. Таким образом, вы можете использовать второй заголовок Content-Security-Policy, чтобы перечислить ресурсы из черного списка, а не устанавливать для этого заголовка отчет-uri.

В первом заголовке Content-Security-Policy, разрешите URL-адреса из черного списка, с помощью отчета-uri. Во втором Content-Security-Policy, используйте ту же политику, что и в заголовке № 1, но не включайте URL-адреса из белого списка и не устанавливайте для этого заголовка параметр report-uri.

Добавление конкретного примера: Вы хотите внести в белый список a.com, b.com и черный список x.com, y.com. Вы будете использовать эти 2 заголовка

Content-Security-Policy: default-src: a.com b.com x.com y.com; report-uri /report
Content-Security-Policy: default-src: a.com b.com;

x.com и y.com будет заблокирован вторым заголовком, но не будет сообщено (нет отчета-uri). Все, что не является a.com b.com x.com y.com будет заблокировано и сообщено.

.
0
ответ дан 24 November 2019 в 05:41