Політиці Content Security Policy бракує обмежень для об’єктів або базової адреси
У звітіCSP leaves object-src or base-uri unrestricted
csp_missing_object_src_or_base_uri · Потребує перегляду
Ця порада з безпеки з’являється, коли Content Security Policy сторінки не має ні object-src, ні default-src або не має base-uri. Без них політика нічого не каже про контент для плагінів чи про адресу <base> сторінки. Додайте object-src 'none' і base-uri 'none'.
Серйозність: До уваги. Порада з безпеки в розділі «Корисно знати». Перегляньте ці прогалини директив під час редагування CSP; кожна захоплена політика оцінюється окремо, без висновків про ранжування.
Чому це важливо
Посібник web.dev про сувору політику обмежує object-src, щоб вимкнути небезпечні плагіни, і base-uri, щоб заблокувати впровадження тегів <base>, а його приклад політики закінчується на object-src 'none'; base-uri 'none'.
Що зробити
- Перегляньте знахідку: у ній показано політику, якої з двох директив бракує, і до десяти сторінок, що її надсилають.
- Додайте
object-src 'none', якщо сторінки не використовують плагінів, іbase-uri 'none'абоbase-uri 'self', якщо сторінка покладається на власний тег<base>.
Коли залишити як є: якщо інша чинна політика на тих самих сторінках уже задає ці директиви, можна залишити як є; перевірка читає кожну політику окремо.
Що ми читаємо
Ми читаємо чинні політики кожної просканованої сторінки з власним user agent: кожну політику в заголовку відповіді Content-Security-Policy і CSP-тег <meta> усередині <head>. Заголовки лише для звітування не читаються. Кожна політика оцінюється окремо, так, як її записано, а не в поєднанні з іншими політиками сторінки, як їх застосовує браузер.
Політика фіксується, коли вона не має ні object-src, ні default-src або коли не має base-uri, для якого немає резервної директиви. Перевіряється лише наявність директив, а не їхні значення, тож default-src * вважається наявним. Сторінка взагалі без чинної політики не належить до цього правила; окрему перевірку відсутньої політики в поточному аудиті відкладено.
Сторінки, що надсилають однаковий текст політики, фіксуються разом, одна знахідка на точний текст; політика, яка має новий nonce у кожній відповіді, дає кожній сторінці власну знахідку. Сторінки, заголовки чи HTML яких захоплено не повністю, не оцінюються.
Приклад і докази
Ілюстративний приклад — одна політика, а не реальний аудит.
https://bakery.example/ надсилає:
Content-Security-Policy: script-src 'self'Політика не має ні object-src, ні default-src, ні base-uri, тому вона фіксується з обома прогалинами.
Content-Security-Policy: script-src 'self'; object-src 'none'; base-uri 'none'Можливе виправлення: та сама політика з обома доданими директивами.
Підтвердити й перевірити знову
Перевірте самі: відкрийте заголовки відповіді сторінки й пошукайте object-src, default-src і base-uri в Content-Security-Policy.
Повторна перевірка: Повний аудит — запустіть новий повний аудит. За повного охоплення перевірки ця знахідка про текст політики закривається, лише коли жодна наразі просканована сторінка не надсилає того самого позначеного тексту політики; нова сторінка зі старим текстом залишає її відкритою. Додавання директив створює новий текст політики для оцінки. Видалення політики теж може прибрати цей текст; окрему перевірку відсутньої політики наразі відкладено, тож це не доводить належного захисту.
Обмеження та джерела
Перевірка бачить, чи існують директиви, а не те, наскільки вони суворі. Кожна політика оцінюється окремо, тож директива в другій чинній політиці знахідки не знімає, а поведінка браузера не вимірюється.
Упевненість: Висока, бо текст політики зчитується безпосередньо.
Джерела
- web.dev, Як зменшити ризик міжсайтового скриптингу (XSS) за допомогою суворої Content Security Policy (CSP) — обмежує object-src, щоб вимкнути небезпечні плагіни, і base-uri, щоб заблокувати впровадження тегів
<base>. Перевірено 28 вересня 2026.
Редакційна перевірка: 2 листопада 2026