| | |
|
|
|
|
Diese Datei existiert seit... |
|
|
|
Immer wieder liest man in Foren und Blogs lächerliche Vergleiche, wo eine Inhaltsgleiche Datei auf Server A schon viel länger existiert als auf Server B. Ermittelt wird dies meistens durch den HTTP-Header einer Datei, der z.B. auch die letzte Änderung einer Datei ausgibt. Als Beispiel der HTTP-Header des Blog-Logos:
Code: HTTP/1.1 200 OK
Date: Mon, 10 May 2010 12:39:04 GMT
Server: Apache
Last-Modified: Fri, 27 Apr 2007 18:30:56 GMT
ETag: "c28c1ec-1cd2-42f1c560b1800"
Accept-Ranges: bytes
Content-Length: 7378
Connection: close
Content-Type: image/jpeg |
Hier sieht man auf den ersten Blick, dass die Datei zuletzt am 27. April 2007 (Last-Modified) geändert wurde. Doch für Vergleiche z.B. bei gestohlenem Inhalt ist das überhaupt kein Kriterium. Zum einen kann diese Zeit durch eingespielte Backups und Serverumzüge schnell näher in der Zukunft liegen, als man möchte. Und zum anderen kann man dieses Datum überall fälschen! Die Möglichkeit dafür bieten z.B. diverse FTP-Programme. Alternativ braucht es dafür nur eine x-beliebige Scriptsprache auf dem Webspace, z.B. mit einem kleinen PHP-Script:
PHP-Code: 1
| <?php
// Setzt die Änderungszeit auf das aktuelle Datum + Uhrzeit
touch('<filename>');
// Setzt die Änderungszeit auf das angegebene Datum + Uhrzeit
touch('<filename>', mktime(<hour>, <minute>, <second>, <month>, <day>, <year>));
// Setzt die Zugriffszeit und Änderungszeit unabhängig voneinander
// Ermöglicht z.B. nette Vergangeheit/Zukunft Spielchen ;-)
touch('<filename>', mktime(<hour>, <minute>, <second>, <month>, <day>, <year>), (time() - 3600));
?>
|
Der Benutzer des Scripts (vermutlich der Webserver) muss dafür die nötigen Rechte für die Datei besitzen. Vorher also eventuell im FTP-Programm alles richtig chmod'en. Nach dem Aufruf ist die Datei-Änderungszeit geändert und der HTTP-Header ebenfalls. Weitere Informationen über touch() findet man in der PHP Dokumentation
Möglichkeit #2 besteht darin, es über direkt die Konsole zu ändern. Das ist besonders für (Linux) (v)Server Besitzer oder Nutzer mit Shell-Zugang interessant. Dort funktioniert es ebenfalls über den touch Befehl:
Code: Aufruf: touch [OPTION]... DATEI...
Die Zugriffs- und Modifikationszeiten jeder DATEI auf die
momentane Zeit aktualisieren.
Eine DATEI, die nicht existiert, wird leer angelegt.
Ist DATEI mit - angegeben, so ändert touch die Zeiten für die Datei,
die mit der Standardausgabe verbunden ist.
Erforderliche Argumente für lange Optionen sind auch für kurze erforderlich.
-a Nur die Zugriffszeit ändern.
-c, --no-create Keine Dateien erzeugen.
-d, --date=DATUM DATUM lesen und statt der momentanen Zeit verwenden.
-f (ignoriert)
-m Nur Modifikationszeit ändern.
-r, --reference=DATEI Die Zeiten dieser Datei anstatt der momentanen Zeit
verwenden.
-t MARKE [[HH]JJ]MMTTSSmm[.ss] statt momentaner Zeit verwenden.
--time=WORT Die Zeit, die von WORT angegeben wird, setzen:
access, atime oder use: wie -a; mtime, modify: wie -m
--help diese Hilfe anzeigen und beenden
--version Versionsinformation anzeigen und beenden
Beachten Sie, dass -d und -t verschiedene Zeit-Datum-Formate akzeptieren. |
Weitere Details können der Manpage entnommen werden
Lange Rede, kurzer Sinn: Die Änderungszeit einer Datei ist also absolut relativ, Diskussionen darüber kann man also gleich vergessen
MfG Christian
|
Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt am 04.06.2010, 20:42. |
Nach oben |
|
Kommentare: 0 |
Kommentare sind deaktiviert |
|
Autor |
Nachricht |
Für diesen Beitrag können zur Zeit keine neuen Kommentare verfasst werden. Kontaktiere den Autor des Beitrages, falls du Fragen dazu hast. |
Verwendete Zeitzone: CET (Europe/Berlin ) Aktuelles Datum & Uhrzeit: 11.12.2024, 02:22 |
Nach oben |
|
|
|
|
|
|
| | |