Content Security Policy

Englische Version

Statten wir WordPress mit einem Security Header und einer Content Security Policy aus!

Es ist möglicherweise nicht so einfach, eine Inhaltssicherheitsrichtlinie einzurichten, die mit WordPress funktioniert, ohne bestimmte Plugins zu beschädigen, da diese möglicherweise auf das Laden von Javascript, Bildern oder Daten aus anderen Domänen angewiesen sind.

Aber natürlich funktioniert es. Statten wir also WordPress mit einem Security-Header aus.

Diese CSP-Regeln funktionieren für meine Website. Ich verwende den Gravatar-Dienst nicht, hoste Schriftarten lokal. Diese URLs sollten dann auch auf die Whitelist gesetzt werden.

(Daten: http: https: *.gravatar.com; script-src ’self‘ ‚unsafe-inline‘ ‚unsafe-eval‘; style-src ’self‘ ‚unsafe-inline‘ http: https: fonts.googleapis.com ; font-src ’self‘-Daten: http: https: fonts.googleapis.com themes.googleusercontent.com;)

Fügen Sie der .htaccess-Datei die folgenden CSP-Regeln hinzu:

<IfModule mod_headers.c>
Header set Content-Security-Policy "report-uri https://en.tausch.wien; manifest-src https://en.tausch.wien; report-to groupname; frame-ancestors 'self' https://en.tausch.wien https; default-src 'none'; upgrade-insecure-requests; base-uri 'none'; form-action 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; font-src https://en.tausch.wien; img-src 'self'; media-src 'self'; object-src 'none'; connect-src 'self'; frame-src https://www.google.com https://*.youtube.com https://*.youtube-nocookie.com https://en.tausch.wien; child-src 'self'; worker-src 'self';"
Header set Referrer-Policy "no-referrer"
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "allow-from https://en.tausch.wien/"
Header set X-XSS-Protection "1; mode=block"
Header set Access-Control-Allow-Headers "X-WP-Nonce"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
Header set Permissions-Policy "geolocation=(), midi=(),sync-xhr=(),accelerometer=(), gyroscope=(), magnetometer=(), camera=(), fullscreen=(self)"
</IfModule>

Diese CSP-Regeln „brechen“ das WP-Dashboard. Um dies zu verhindern, fügen Sie eine wp-admin/.htaccess-Datei mit den folgenden Regeln hinzu:

<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; img-src 'self' data: http: https: *.gravatar.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' http: https: fonts.googleapis.com; font-src 'self' data: http: https: fonts.googleapis.com themes.googleusercontent.com;"
</IfModule>

oder CSP-Regeln in wp-admin/.htaccess vollständig deaktivieren:

<IfModule mod_headers.c>
Header unset Content-Security-Policy
</IfModule>

Um die Inhaltssicherheit zu überprüfen, gehen Sie zu: https://cspscanner.com/ oder https://securityheaders.com/

Weitere Informationen zu CSP:

    • https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
    • https://en.wikipedia.org/wiki/Content_Security_Policy

mehr WordPress Tipps und Hinweise? klicken Sie hier

Jetzt muss ich also dieses Problem lösen , um das Übersetzungsskript auf https://en.tausch.wien/some-essential-things-about-chess/ zu verwenden.

Das Laden des Skripts „https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2“ wurde abgelehnt, da es gegen die folgende Richtlinie zur Inhaltssicherheit verstößt: „script-src ’self‘ ‚unsafe-inline‘ ‚unsafe -eval'“. Beachten Sie, dass „script-src-elem“ nicht explizit festgelegt wurde, sodass „script-src“ als Fallback verwendet wird.