2017-02-03 3 views
0

Ich habe vor kurzem begonnen, CSP - Header mit einer vorhandenen Website zu verwenden, und es scheint mit den meisten Benutzern gut zu funktionieren, aber ich habe jetzt Berichte der Website nicht mit iOS (Safari und Chrome) und kann auch bestätigen, dass mein ehrwürdiges iPad die Seite auch nicht laden kann. Inhalt Sicherheitsrichtlinie bricht Website mit iOS - Clients

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

das heißt ziemlich Standard

:

Die "verletzt-Richtlinie" als berichtet.

Ich habe mich umgesehen und Berichte ähnlicher Problemberichte with iframes und mit web sockets gefunden, aber meine Websites verwenden keines dieser, sein Standard HTML + Javascript.

Die CSP ist in seiner Gesamtheit:

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; \ 

Was ist hier beste Praxis? Gibt es eine Möglichkeit sicherzustellen, dass der CSP mit allen Browsern und Betriebssystemen kompatibel ist (wie eine sichere Untergruppe?).

Ich möchte es verwenden, aber offensichtlich ist es ziemlich problematisch, nicht zu wissen, was verwendet werden kann. Brauchen Sie einen "W3C CSP-Kompatibilitätstest" oder ähnliches ...

+0

Ich sehe das immer noch als ein Problem in iOS Safari auf älteren Geräten. Bin nicht sicher über neuere. MacOS Safari 10 akzeptiert das Nonce und funktioniert wie erwartet. –

Antwort

1

Das ist, weil Ihre source expressions fehlt ein Schema: Safari erfordert sie.
Für Chrome, wie alle Browser unter iOS, wird nur ein Wrapper der Safari-Engine verwendet.

+0

Danke. Ich kam zu dem Schluss, dass CSP für mich effektiv unbrauchbar war, weil es mir an Ressourcen fehlte, um gegen jede alte Version eines Browsers zu testen. Ich habe ein paar andere Probleme gefunden, als ich es gegoogelt habe. Ich habe kürzlich https://cspvalidator.org/ gefunden, aber es wird nur auf Korrektheit überprüft (meine CSP-Pässe), nicht auf Kompatibilität. – Dan

Verwandte Themen