Парсер отчётов о нарушениях CSP
Преобразуйте вставленные отчёты о нарушениях CSP в удобный для чтения итог: какие директивы и источники блокируются.
Парсер отчётов о нарушениях CSP
Вставьте JSON отчётов из endpoint'а report-uri вашей CSP-политики или из Reporting API и этот инструмент превратит стену отчётов о нарушениях в понятный итог: какие директивы блокируются и какие источники их вызывают. Он создан для разработчиков, внедряющих или ужесточающих Content-Security-Policy, которым нужно видеть закономерность среди десятков или сотен отчётов, а не читать каждый отдельно.
Группируйте по директиве, чтобы увидеть, какие разделы политики срабатывают чаще всего, или группируйте по заблокированному источнику, чтобы найти один скрипт или таблицу стилей, вызывающие больше всего шума. Скройте отчёты от расширений браузера — Chrome и Firefox отправляют тела csp-report с blocked-uri, начинающимся с chrome-extension: или moz-extension:, всякий раз когда установленное расширение нарушает политику страницы, что не имеет отношения к вашему коду. Включите показ затронутых страниц, чтобы увидеть каждый URL документа, на котором было обнаружено нарушение. Переключитесь на рекомендуемые правила, и инструмент предложит дополнения к source-list — источники, 'unsafe-inline', data: — которые разрешили бы каждой заблокированной директиве пройти, как отправную точку для расширения политики.
Парсер принимает JSON-массив, один объект отчёта или один отчёт на строку и понимает как классическое тело POST с {"csp-report": {...}}, так и новую оболочку Reporting API с {"type", "body"}, так что необработанные логи сервера вставляются без переформатирования. Отчёты, которые не парсятся, пропускаются вместо сбоя пакета, а счётчик показывает, сколько отчётов поступило, на сколько групп они свернулись и сколько отчётов от расширений было отфильтровано.
Всё работает в вашем браузере. Вставленные отчёты никогда не загружаются никуда, что важно, так как они могут содержать внутренние URL и структуру страницы. Скопируйте итог, скачайте его как .txt файл или отправьте его на вход другого инструмента для дальнейшей работы.