Ich versuche, reCAPTCHA mit einer strengen Content Security Policy arbeiten zu lassen. Dies ist die Basisversion Ich habe, die richtig funktioniert:reCAPTCHA mit Content Security Policy
HTML
<script src='//www.google.com/recaptcha/api.js' async defer></script>
HTTP-Header
Content-Security-Policy: default-src 'self'; script-src 'self' www.google.com www.gstatic.com; style-src 'self' https: 'unsafe-inline'; frame-src www.google.com;
Allerdings würde ich die unsafe-inline
im style-src
Abschnitt bekommen zu befreien. Auf der documentation steht geschrieben, dass:
Wir empfehlen die Verwendung der nonce-basierten Ansatz dokumentiert mit CSP3. Stellen Sie sicher, dass Sie Ihre Nonce in das Script-Tag reCAPTCHA api.js aufnehmen, und wir kümmern uns um den Rest.
Aber ich kann es nicht machen ... Das ist, was ich versucht:
HTML
<script src='//www.google.com/recaptcha/api.js' nonce="{NONCE}" async defer></script>
HTTP-Header
Content-Security-Policy: default-src 'self'; script-src 'self' https: 'nonce-{NONCE}'; style-src 'self' 'nonce-{NONCE}'; child-src www.google.com;
Und das ist der Fehler, den ich gehen Sie auf Chrome 53:
Die Anwendung des Inline-Styles wurde abgelehnt, weil sie gegen die folgende Richtlinie zur Inhaltssicherheitsrichtlinie verstößt: "style-src 'self' https: 'nonce- {NONCE}'". Entweder ist das Schlüsselwort 'unsafe-inline', ein Hash ('sha256-MammJ3J + TGIHdHxYsGLjD6DzRU0ZmxXKZ2DvTeAPF0o =') oder ein Nonce ('nonce -...') erforderlich, um die Inline-Ausführung zu ermöglichen.
Was ich vermisse?
Sehr nützliche Links zu verwandten Themen in anderen Issue Tracker! – Dargmuesli