27.6 Caching verhindern
Normalerweise werden alle Dateien im Cache des Browsers gespeichert. Es gibt jedoch zwei Ausnahmen:
|
Dateien, die über eine gesicherte Verbindung (per HTTPS) übertragen worden sind. Die Standardeinstellung der meisten Browser ist, diese Dateien nicht zwischenzuspeichern – das kann aber auch in den Optionen ausgeschaltet werden. |
|
Dateien, bei denen explizit angegeben ist, dass sie nicht im Cache landen sollen. |
Wir wollen hier auf den letzten Punkt kurz eingehen. Es gibt zwei Möglichkeiten, einen Browser (und nebenbei auch einen Proxyserver) darauf hinzuweisen, dass das Dokument nicht abgespeichert werden darf, sondern jedes Mal neu vom Server angefordert werden muss:
|
Durch eine Angabe im HTTP-Header: |
Pragma: no-cache
Dieses Mittel steht allerdings nur bei der Verwendung von serverseitigen Skriptsprachen zur Verfügung. Hier der entsprechende Code in PHP:
header("Pragma: no-cache");
Mit ASP/ASP.NET:
Response.AddHeader("Pragma", "no-cache")
|
Durch eine entsprechende Angabe im HTML-Tag mittels eines <meta>-Tags: |
<meta http-equiv="pragma" content="no-cache" />
So schön das in der Theorie funktioniert, so mau sieht es in der Praxis aus. Nicht jeder Browser hält sich an die Angaben in Bezug auf das Caching-Verhalten der Dokumente. Dadurch können Datendiebe auch bei derart geschützten Dateien im Cache über das Dateisystem fündig werden.
Sie sollten sich ohnehin überlegen, ob Sie das Mittel tatsächlich einsetzen möchten. Falls ja, wird die Datei jedes Mal von Ihrem Webserver angefordert (und es wird nicht etwa zuerst nachgesehen, ob sich dieselbe Dateiversion schon im Browsercache befindet). Dadurch steigt das Transfervolumen auf Ihrem Webserver – und dadurch steigen auch Ihre Kosten.
Sollte die Caching-Angabe doch funktionieren, so gibt es einen recht einfachen Trick, auf die Datei zuzugreifen: Bei HTML-Dokumenten speichern Sie diese einfach aus dem Quellcode-Fenster Ihres Browsers ab. Bei eingebauten .js-Dateien geben Sie die URL der Datei direkt im Browser an und speichern das Ergebnis. Sie sehen – auch dies ist kein echter Schutz; Sie können damit lediglich die Ablage im Browser-Cache verhindern. Dieser ist aber ohnehin die letzte Stelle, an der nach Quellcode gesucht wird, da es ja so viele einfachere Methoden gibt.
|