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