2016-03-03 2 views
4

Я хотел бы разрешить сценарии только с моего локального сервера с некоторыми исключениями, такими как jQuery и т. Д., Но быть гибким для загрузки внешних изображений. Я знаю, что есть директива, какПолитика безопасности контента: разрешить все внешние изображения?

Content-Security-Policy: script-src 'self' https://apis.google.com; img-src 'self' https://www.flickr.com; 

, чтобы изображения от обоих, мой собственный веб-сервер и Flickr, но это возможно, чтобы изображения с все источники - или же это нарушит всю концепцию CSP и, следовательно, быть невозможным? Я поддерживаю блог, который часто требует встраивания внешних образов, поэтому он в основном подходит к решению о том, имеет ли смысл и можно ли добавить CSP на мой сайт или нет.

ответ

5

Включение изображений из всех источников в основном в безопасную практику с точки зрения безопасности, но вам может не понравиться содержимое изображений, которые можно использовать.

Чтобы разрешить все изображения, использование:

img-src * data:; 

Это, вероятно, разумно ограничить это https: источников, так что ваши пользователи не получают смешанный контент (сломаны замок) ошибка:

img-src https: data:; 

В любом случае не забудьте отправить X-Content-Type-Options: nosniff", чтобы предотвратить обнюхивание контента, которое происходит в Chrome/IE. Я не уверен, будет ли firefox обрабатывать тег изображения, который указывает на файл javascript, будет рассматривать это как Javascript из-за обнюхивания, но ваш script-src должен помешать этому быть ужасным. Я не уверен, что apis.google.com содержит пользовательские скрипты или, если он ограничен типичными библиотеками с открытым исходным кодом.

+0

«X-Content-Type-Options: nosniff» - полезный тег, и я рекомендую его, однако тег '' не может загружать JavaScript с сервера с помощью атрибута src, даже если тип содержимого возвращается как 'application/javascript'. – SilverlightFox

Смежные вопросы