Thomas Schmieder: Sorry, schwerer Benutzerfehler

Beitrag lesen

Hallo Marco,

auf der Maschine, auf der der Webserver läuft, sind viele viele Verzeichnisse

----+-----
    |        +--- Verzeichnis des Benutzers xyz
    |        v
    |
    +--------+-------HTML-Dateien Domain xyz.de
    |        |
    |        +-------andere Dateien des Domainbesitzers xyz
    |
    +--------+-------HTML-Dateien Domain abc.de
             |
             +-------andere Dateien des Doaminbesitzers abc

usw.

Alle Dateien, die im Verzeichnis "Domain xyz.de" liegen, sind öffentlich. d.h. dass der Webserver (das ist ein Programm!) darauf zugreifen kann. Der Webserver ist zum Beispiel unter dem Namen wwwrun beim Betriebssystem angemeldet (logged on). Das bedeutet aber auch, dass Das Betriebssystem nichts davon merkt, ob Du als Surfer mal mit Deinem Browser vorbeischaust. Das hat es alles an den Webserver delegiert. Der kennt aber keine unterschiedlichen Benutzer. Er darf aber nur die Dateien auf dem Server anzeigen, die im Domainbereich des Besitzers abgelegt sind. Da macht er aber keinen Unterschied zwischen den Besuchern.

Zusätzlich läuft auf der Maschine, auf der der Webserver läuft, ein PHP-Server (Deamon), der mit dem Webserver eng zusammenarbeitet. Solltest Du jetzt ein PHP-Script aufrufen, so kann der PHP-Deamon merken, dass Du dich autehnfiziert hast. Die Auth-Daten werden bei jedem Aufruf der Domain automatisch dem Script mitgesandt und stehen so dem Deamon zur Verfügung.

Der PHP-Deamon darf auch außerhalb des Verzeichnisses der Domain, also zum beispiel im Userbreich des Besitzers, Daten lesen und sogar schreiben! Wenn Du jetzt Dokumente in diesem Bereich ablegst, kommst Du mit einem "normalen http-request" nicht an die Dokumente heran. Da der Deamon dort aber lesen darf, kannst Du ihm per PHP-Script einen Aufrtag erteilen (Client-Server-Modell). Wenn es ihm passt (wenn nämlich die im Script programmierten Bedingungen zutreffen), dann erfüllt er Dir deinen Wunsch. Er kann dann mit einem speziellen Algorithmus die Datei an den Client ausliefern.

Suche einfach mal unter "Bilder in Datenbank"
http://forum.de.selfhtml.org/archiv/2002/10/25753/#m141038
dort findest Du ein Script, dass Du für Deine Zwecke umbauen kannst.

Die Referrer-Abfrage ist nicht notwendig. Es fehlen hier noch die paar Zeilen für eine Authentifizierung. Aber wie die Header aufgebaut werden müssen, kannst Du gut daraus erkennen.

Viel Erfolg

Tom