Недавно я начал использовать заголовки 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» или аналогичный ...
Я все еще рассматриваю это как проблему в Safari iOS на старых устройствах. Не уверен в новых. MacOS Safari 10 принимает nonce и работает как ожидалось. –