Zur Startseite Eine häufig auftauchende Frage ist: Wie kann ich auf meiner Internetseite eine Datei zum Download anbieten, ohne einen direkten Link auf die Datei zu verwenden?
Hintergrund dieser Frage: Ich habe einen Passwort-geschützten Bereich, bei dem nur bestimmte, registrierte Benutzer einen Zugang haben. Wie so etwas programmiert werden kann, finden Sie in diesem Artikel:
Zum Artikel: Login-Seite in PHP
Damit kann ich zwar über eine Session den Besucher identifizieren, aber ein Datei-Download kann damit noch nicht durchgeführt werden. Der Grund ist einfach: Wenn ich einen Link auf eine Datei angeben, könnte ja jeder auch ohne Kenntnis des Passwortes diese Datei herunterladen.
Um eine solche Datei geheim zu halten, gibt es prinzipiell zwei Möglichkeiten:
Die empfohlene Methode ist das Speichern außerhalb des Webspace. Wenn Ihre Internet-Präsenz beispielsweise im Verzeichnis /home/username/html_public/ beginnt (das ist der sogenannte DOCUMENT_ROOT) dann könnten Sie folgendes Verzeichnis für Ihre Download-Dateien anlegen: /home/username/downloads/.
Auf dieses Verzeichnis hat der normale Besucher mit dem Browser keinen Zugriff, da es oberhalb der Verzeichnisstruktur von html_public liegt. Ihr PHP-Skript kann jedoch problemlos auf dieses Verzeichnis zugreifen.
Wenn Sie diese Möglichkeit nicht haben, weil Ihr Provider keinen Zugriff oberhalb von html_public erlaubt, können Sie vielleicht ein passwortgeschütztes Verzeichnis in der normalen Struktur Ihres Webspace anlegen. Dazu bieten die Provider üblicherweise ein interaktives Werkzeug an, auf das man über die Verwaltung des Webspace zugreifen kann. Fragen Sie dazu einfach Ihren Provider.
Solche geschützten Verzeichnisse werden über eine spezielle Steuerdatei mit dem Namen ".htaccess" (der Punkt am Anfang ist wichtig) erzeugt. Nähere Informationen, wie man Verzeichnisse mit .htaccess schützen kann finden Sie beispielsweise hier:
http://www.univie.ac.at/ZID/passwortschutz/
http://de.selfhtml.org/servercgi/server/htaccess.htm