Политика безопасности контента: настройки страницы заблокировали загрузку ресурса самостоятельно?
у меня есть веб-приложение на основе Java, работающее на котяра 6. Мое приложение работает на localhost и port 9001.
чтобы сделать мое приложение более безопасным и снизить риск межсайтовый скриптинг атаки, я добавил в заголовок Content-Security-Policy
со значением по умолчанию-src и * 'небезопасно-рядный' 'опасные-функции eval';скрипт-ФОК 'самостоятельная'. При этом я хочу Разрешить веб-приложению загружать файлы JavaScript из того же домена.
для других ресурсов он продолжает загружаться так же, как и без этого заголовка.
, но я получаю ниже ошибка.
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src http://localhost:9001").
2 ответов
заголовок политики безопасности содержимого представляет собой белый список надежных источников.
на default-src
list-это список, используемый всеми остальными *-src
списки. Если он отсутствует, значение по умолчанию default-src: *
что означает "все содержимое разрешено из любого места", что не обеспечивает никакой защиты от XSS.
таким образом, вы должны начать с
-
default-src none
, так что все содержимое запрещено, или -
default-src 'self'
, так что только содержание из вашего домена разрешено.
после этого другие *-src
можно заменить по мере необходимости. Например, следующее доверяет self для всего, кроме изображений, а изображения разрешены только из example.com (но не от "я"):
default-src 'self'; img-src example.com;
в вашем вопросе вы указываете default-src * 'unsafe-inline' 'unsafe-eval';
что может вызвать проблему, так как *
подразумевает 'unsafe-inline'
и 'unsafe-eval'
. Это как сказать: "разрешите все и разрешите встроенное и разрешите eval".
также обратите внимание, что CSP поддерживается через X-Content-Security-Header
в IE >= 8.
источники:
попробуй:
default-src * 'unsafe-inline' 'unsafe-eval';script-src 'self' 'unsafe-inline' 'unsafe-eval'