2017-02-03 10 views
0

Недавно я начал использовать заголовки CSP с существующим сайтом и, похоже, работает с большинством пользователей, но теперь я получил сообщения о том, что сайт не загружается с iOS (Safari и Chrome) и также может подтвердить, что мой почтенный iPad не может загрузить сайт.Политика безопасности контента ломает сайт с клиентами iOS

"нарушил директиву" сообщается как:

"script-src 'self' 'nonce-sh7cn3n6shh36sa1' cdn.jsdelivr.net ..other uris 

т.е. довольно стандартный.

Я огляделся и нашел отчеты о похожих проблемах with iframes и web sockets, но мои сайты не используют ни один из них, его стандартный HTML + Javascript.

ПЕС в целом является:

Header set Content-Security-Policy-Report-Only "default-src 'self'; \ 
    script-src 'self' 'nonce-sh7cn3n6shh36sa1' cdn.jsdelivr.net \ 
       oss.maxcdn.com \ 
       ajax.googleapis.com \ 
       cdnjs.cloudflare.com \ 
       www.google-analytics.com; \ 
    style-src 'self' 'unsafe-inline' \ 
       cdn.jsdelivr.net \ 
       cdnjs.cloudflare.com \ 
       maxcdn.bootstrapcdn.com; \ 
    font-src 'self' maxcdn.bootstrapcdn.com; \ 
    img-src 'self' data: www.google-analytics.com www.paypalobjects.com; \ 

Что лучше практики здесь? Есть ли способ убедиться, что CSP будет совместим со всеми браузерами и ОС (например, безопасным подмножеством?).

Я бы хотел использовать его, но, очевидно, это довольно проблематично, не зная, что можно использовать. Нужен «Тест совместимости W3C CSP» или аналогичный ...

+0

Я все еще рассматриваю это как проблему в Safari iOS на старых устройствах. Не уверен в новых. MacOS Safari 10 принимает nonce и работает как ожидалось. –

ответ

1

Это потому, что у вашего source expressions нет схемы: для них требуется сафари.
Что касается Chrome, как и всех браузеров на iOS, он просто использует оболочку движка Safari.

+0

Спасибо. Я пришел к выводу, что CSP был для меня непригодным для использования, не имея ресурсов для тестирования против каждой старой версии браузера. Я обнаружил множество других проблем, когда я его искал. Недавно я нашел https://cspvalidator.org/, но он только проверяет правильность (мои CSP-передачи), а не совместимость. – Dan

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

  • Нет связанных вопросов^_^