Политика безопасности контента: настройки страницы заблокировали загрузку ресурса самостоятельно?

у меня есть веб-приложение на основе 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'