Robert R.: Alles unterhalb eines Pfades an ein Skript übergeben

Beitrag lesen

Lieber Mitdenker Rider,
liebe Wissende,
liebe Neugierige,

ja!

Ich versehe mal ganz frech auf mich: https://forum.selfhtml.org/?t=218911&m=1509340.

Imho nicht gut - zumindest nicht für dieses Problem. Ich verstehe den TO so, dass er den Dateinamen überhaupt nicht kontrollieren/vorhersagen kann (also ist ein Abfang von allem unterhalb /skript oder /skript.php - zweiteres besser weil ohne files-Direktive möglich - nicht ausreichend).

Dir bleibt dann nur die Anwendung von http://de.selfhtml.org/servercgi/server/rewrite.htm@title=mod_rewrite.

Das sehe ich auch so. Da muss ich also nun mit Mod-Rewrite herumspielen, bis ich es verstanden habe.

Es gibt im Projekt noch mehr Rewrites, die ich nicht antasten darf.
Ich könnte auch darauf vertrauen, dass alle Anfragen, die von keiner real existierenden Datei beantwortet werden können, ohnehin zentral in einer index.php landen. So zumindest ist das in der Doku beschrieben. Dann müsste ich die aber verändern.

Ich will aber gerne den Spezialfall separat halten, weil ich nicht weiß, ob das später tatsächlich so bleibt und den Request für dieses Verzeichnis vorher schon abfangen, auch weil ich das vorhandene Gerüst nicht antasten will. Trifft also ein Request auf das Muster zu, sollen die anderen Rewrites gar nicht mehr abgefragt werden.

Was erreicht werden soll:

Der User erzeugt ein Abfrageergebnis aus einer Datenbank. Es entstehen Datensätze daraus, die in der Sessiondatei gespeichert werden. Darunter sind auch Datensätze, die Verweise auf Files im Dateibaum enthalten. Im View kann ich nun dafür sorgen, dass diese als Link oder neues Requestobjekt (z. B. ein <img>-Tag) ausgegeben werden.

Wenn dieser nun vom Browser aufgelöst wird, soll der Reqest auf das Verzeichnis '/private/images/PATH_TO_THE_RESOURCE.XXX' immer in ein und derselben Datei landen, die dann mittels Request-Path-Zerlegung den öffentlichen Namen der Resource feststellt und dann in der Session guckt, ob dafür eine Translation auf das lokale Verzeichnis (außerhalb der DocRoot!) vorliegt. Dann darf das Skript diese Ressource ausliefern. So erhält ein User immer nur diejenigen Files, auf die er Rechte hat. Die Rechtesteuerung findet im Datenbankmodell statt und ich darf die auch nicht anfassen.

Ich hoffe, ich konnte mein Anliegen nochmal verständlicher rüberbringen.

Ich probiere jetzt noch ein bisschen mit Mod Rewrite herum, befürchte aber, dass ich das noch nicht alleine hinbekomme.

Spirituelle Grüße
Euer Robert

--
Möge der Forumsgeist wiederbelebt werden!