Warum CSP den Browser dazu veranlassen, verschiedene Vorgänge zu verhindern

Ein weit verbreiteter Abwehrmechanismus ist die Content Security Policy. Die Idee dahinter ist, dass der Webserver beim Ausliefern der eigentlichen Webseite noch zusätzliche Meta-Daten übermittelt, die den Browser dazu veranlassen - verschiedene Vorgänge zu verhindern & zu blocken.

Darunter zählen leider auch teilweise komplette Werbe & Marketing -Maßnahmen.

So ist es damit beispielsweise auch möglich
  • dass der Browser keine JavaScript-Dateien lädt und ausführt,
  • dass komplette Webseiten leer bzw. weiß bleiben & kein Inhalt geladen wird,
  • dass Seiten im Browser gar nicht erst aufgerufen & Verbindungen abgelehnt werden,
wenn diese nicht von exakt demselben Webserver stammen, von dem die eigentliche Seite geladen wurde.

Beim Ausliefern des HTML-Dokuments bedarf es eines speziellen HTTP-Headers, der den Browser die Content Security Policy anwenden lässt. Dazu gibt es mehrere Möglichkeiten wie z.b. - | |

Wenn kein CSP-Header vom Server selbst versandt wird, kann man mit einem passenden <meta> Element nachhelfen. Sollte der Server irgendwann doch einen CSP-Header senden, hat dieser – wie in solchen Fällen üblich – für den Browser Vorrang, vor dem <meta> Element.

<!doctype html>
<head>
  <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
  <meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src 'self'">
  <meta http-equiv="X-WebKit-CSP" content="default-src 'self'; script-src 'self'">
  <title>CSP nutzende Seite</title>
</head>
<body>
  <h1>Sie sind sicher</h1>
  <p>Dieses Dokument wurde mit einer sehr strikt eingestellten Content Security Policy ausgeliefert.</p>
</body>
</html>

Im Kopf des Dokuments ist ein <meta> Element notiert, welches den Browser erkennen lässt, dass er das Sicherheitskonzept anwenden soll.  Die Anweisung default-src 'self' bedeutet, dass er prinzipiell nur zusätzliche Inhalte laden darf, wenn sie vom selben Server stammen.  Die Anweisung script-src 'self' im content-Attribut erklärt dem Browser, dass er nur JavaScript-Dateien laden darf, die vom selben Server stammen wie dieses Dokument.

Diese Direktive hat eine zusätzliche Auswirkung: Der Browser darf keinen JavaScript-Code ausführen, der im HTML-Dokument selbst notiert ist.

Damit auch ältere Versionen des Browsers erreicht werden, benötigt es ein weiteres <meta> Element mit "X-Content-Security-Policy".  Auch ältere Versionen von auf der Webkit-Engine basierenden Browsern (wie z. B. Chrome oder Safari) unterstützen vielleicht noch nicht standardmäßig die CSP und benötigen stattdessen "X-Webkit-CSP" als Header(-Ersatz).

Oft nutzen einige "WebHoster" div. CSP <meta> Elements, um Werbemaßnahmen & den damit verbundenen hohen Traffic zu unterbinden

<?php
  header("Content-Security-Policy: default-src 'self'; script-src 'self'");
  header("X-Content-Security-Policy: default-src 'self'; script-src 'self'");
  header("X-WebKit-CSP: default-src 'self'; script-src 'self'");

Dieses Beispiel nutzt die PHP-interne Funktion header(), um einen HTTP-Header an den Browser zu senden.
Wie schon im HTML-Beispiel werden zusätzlich die angepassten Header "X-Content-Security-Policy" und "X-WebKit-CSP" mit ausgegeben.

Oft nutzen einige "WebHoster" Content Security Policy, um Werbemaßnahmen & den damit verbundenen hohen Traffic zu unterbinden

Wenn man seinen eigenen Webserver konfigurieren kann (was bei günstigen Hostingangeboten oder Wespace in aller Regel nicht der Fall ist) dann gibt es Einstellungsmöglichkeiten

Header set Content-Security-Policy "default-src 'self';"
server {
  ...
  add_header Content-Security-Policy "default-src 'self';";
}

u.U. ist diese Einstellung nur dem "WebHoster" zugänglich. Falls im Kundenmenü nichts vorhanden ist, bitte beim zuständigen Support nachfragen.

Die Content-Security-Policy wird i.d.R. vom Webmaster (Webhoster) erstellt & auf jeder Unterseite der Website eingefügt, auf der der Mechanismus gelten soll.

Als Betreiber der Website haben Sie u.U. die Möglichkeit, unterschiedliche Mechanismen für jede einzelne Seite festzulegen. Unkompliziert realisieren Sie dies, indem Sie .htaccess-Dateien erstellen, und in den gleichen (oder hierarchisch höheren) Ordnern wie die entsprechenden Webseites abspeichern, oder indem Sie CSP direkt in die verankern.

Die CSP funktioniert nach dem Prinzip einer Whitelist: Im Header werden die Quellen genannt, aus denen Skripte & Daten geladen werden dürfen.

Über die Content-Security-Policy können Webmaster viele weitere Einstellungen vornehmen, beispielweise durch diese Direktiven

  • frame-ancestors
    Legt fest, welche Domains erlaubt sind.
  • script-src
    Bestimmt, welche Quellen für JavaScript erlaubt sind.
  • upgrade-insecure-requests
    Stellt sicher, dass unsichere Seiten mit HTTP wie HTTPS-Seiten behandelt werden.

Unabhängig von der gesetzten CSP, wird u.a. auch zb. durch das Setzen von "x-frame-options:SAMEORIGIN" oder auch "x-frame-options:DENY" gleiches erziehlt. Hier sind entsprechende HTTP-Header X-Frame Optionen mit anzupassen.


einige Beispiele

X-Frame-Options: ALLOW-FROM https://example.com/
Content-Security-Policy: frame-ancestors 'self' https://example.com

X-Content-Type-Options: nosniff
Content-Security-Policy: frame-ancestors https://*.example.com   https://*.example.de   https://*.example.net   www.beispielseite.de

Wenn Inhalte inkorrekt dargestellt oder geladen werden, zeigt beispielsweise der Mozilla-Firefox u.a. folgende Fehlermeldung

Firefox hat diese Webseite daran gehindert, auf diese Weise geladen zu werden, weil die Webseite eine Inhaltsicherheitsrichtlinie hat, die dies nicht erlaubt.

oder zb. bei Chrome folgende Fehlermeldung

www.beispielseite.de hat die Verbindung abgelehnt.

Einen ausführlichen Überblick zur CSP findet man u.a. beim Mozilla Developer Network

1

STRATEGIE

Werben Sie nicht wild los, setzen Sie auf unsere Online Marketing Strategie und Werbe Taktiken im 30Tage Format

2

PLANUNG

Wir stellen Ihnen Werbeformen und Bestandteile einer erfolgversprechenden Planung mit Marketingstrategie

3

ONLINE WERBEN

günstig, effektiv, und langfristig. Einfacher kann Online Werbung auf monatlicher 30Tage Basis nicht sein


NextLevel24
Marketing Flatrate
Werbeflatrate
online Werbeflat
Flatrate Werbung
Markenlösungen

Brand Solutions

Mit unseren NeXTLeVeL24 Online Angeboten erreichen Sie hohe Reichweiten durch stark frequentierte Premium-Webseiten ...

Online Vermarktung

Exclusive Marketing

NeXTLeVeL24 Werbung stärkt Ihr Image & fördert die Umsatzsteigerung durch unser individuell abgestimmten Marketing Mix ...

SEO Werbung

SEO Optimierung

Online Marketing & Internet Werbung sind effektivste Wege zu größerer Reichweite, potenziellen Kunden und mehr Besucher ...

$starturl Google Traffic kaufen | Popup Werbung kaufen | Webseiten Besucher kaufen | Google Mails kaufen | Webseiten Besucher Layer kaufen | Google Analytics Bannerviews kaufen | Besucher kaufen | Website Banner kaufen | Analytics Besucher Traffic kaufen | traffic für Website kaufen

IT'S EASY

Wir sind anders, aber besser.

Wir sind NeXTLeVeL24 - Ihr Spezialisten für Marketing, Online-Werbung & Promotion