Risiken und Chancen

Ratgeber: HTML5 sicher einsetzen

Sicherheit für Cross Origin Request

Der schlimmste Fehler beim Cross Origin Request ist, beliebigen Websites Zugriff auf die eigene Applikation zu gestatten. Der HTTP-Header Access-Controll-Allow-Origin kann theoretisch auch die Wildcard * enthalten, sollte es aber niemals. Stattdessen müssen immer explizit Domains angegeben werden, um Angreifern nicht Tür und Tor zu öffnen.

Wie schon erwähnt, basiert HTML5-COR auf der Zugriffssteuerung für jede einzelne Webseite. Das hat natürlich auch Nachteile. Wenn ein Entwickler zum Beispiel den Zugriff auf zehn verschiedene Seiten erlaubt, muss er in allen zehn Seiten Änderungen vornehmen, wenn sich die Liste der erlaubten Websites ändert.

Eine Lösung wäre das Erstellen einer Seite, die den COR-Code enthält und per PHP in jede der zehn erlaubten Seiten eingebunden wird:

<?php

if($_SERVER['HTTP_ORIGIN'] == "http://www.diedomain.com")

{

header('Access-Control-Allow-Origin: http://www.diedomain.com');

}

?>

Das Einbinden erfolgt mit include(cor_datei.php). Sicherer wäre es, eine Datenbank zu verwenden, in der die Namen jeder Seite und die erlaubten Websites verwaltet werden.