You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Manfred Rebentisch <MR...@comparat.de> on 2009/03/13 11:21:27 UTC

Re: Verzeichnisse, Pfade in der URL

Hallo Bob,
nochmal vielen Dank für Deine Mail.
Ich stelle noch mal ein paar Fragen zu den Details.

Am Dienstag 03 Februar 2009 13:08:31 schrieb Bob Ionescu:
> Ja, das wäre auch der Fall ohne 'ModMimeUsePathInfo on', nur dass dann
> dein Handler nicht über Addhandler zugewiesen werden würde. Zunächst
> wird in der translate_name-Phase der Request auf einen r->filename
> übersetzt, z.B. bei r->uri /verfahren/eins/zwei/drei/glossar.html in
> r->filename /var/www/cpweb09/verfahren/eins/zwei/drei/glossar.html. In
> der map_to_storage-Phase wird mit diesem r->filename dann der
> directory_walk durchgeführt. 
Ich hatte ja versucht, im Handler den ap_hook_translate_name  zu verwenden, 
während ich mit SetHandler und AddHandler herumspielte. Aber ich hatte den 
Eindruck, dass z.B. die Rückgabe von OK nicht so wirkte, wie ich mir das 
dachte. 
> Das geht dann Verzeichnisebene für 
> Verzeichnisebene vom Wurzelverzeichnis aus. Hier werden auch die
> .htaccess-Dateien gelesen. All das, was vom r->filename noch nicht
> Verzeichnis für Verzeichnis durchlaufen wurde, ist path-info. Kommt
> der directory_walk nun an einem Punkt an, wo ein Verzeichnis nicht
Der directory_walk wird im ap_hook_map_to_storage Hook gemacht?
Da weiß ich nicht recht, was ich für einen Hook-Code programmieren könnte. 
Gibt es dazu Dokumentation? Hm, 
> mehr existiert, bricht er ab. Das letzte nicht-existierende
> Verzeichnis wird dann als Datei behandelt, die natürlich auch
> tatsächlich existieren kann (hier verfahren), r->filename bleibt also
> bei /var/www/cpweb09/verfahren. Der nicht durchlaufene Rest bleibt
> path-info (/eins/zwei/drei/glossar.html).
>
> > Die r->uri [/verfahren/eins/zwei/drei/glossar.html] wird aufgesplittet in
> > , r->path_info: [/eins/zwei/drei/glossar.html], und r->filename:
> > [/var/www/cpweb09/verfahren]
> > das heißt, wenn finfo.filetype auf 0 steht, steht in filename der erste
> > nicht existierende Pfad.
>
> Genau.
>
> > Warum ist r->used_path_info immer auf 2  (AP_REQ_DEFAULT_PATH_INFO)?
>
> Das ist der Standardwert der Direktive AcceptPathinfo.
>
> > Welche sicherheitsrelevanten Auswirkungen hat das noch?
>
> Das obliegt dem content handler. Die Direktive findet vor den content
> handlern glaube ich nur bei mod_speling in der fixup-Phase
> Berücksichtigung. Anhand der Auswertung von r->used_path_info kann der
> content handler sein Verhalten abweichend von seinem sonstigen
> Standardverhalten festlegen. Nehmen wir bspw. den core content
> handler. Dieser weist den request mit einem 404 standardmäßig ab, wenn
> path-info vorhanden ist. Hat r->used_path_info den Wert
> AP_REQ_ACCEPT_PATH_INFO (war das 0?), dann würde der core content
> handler den Request nicht abweisen. Umgekehrt bei mod_php oder
> mod_cgi: Diese Handler akzeptieren standardmäßig path-info. Steht
> r->used_path_info auf AP_REQ_REJECT_PATH_INFO, so geben sie einen 404
> zurück. Es obliegt also immer dem content handler, zu entscheiden, was
> passieren soll. Wertet der content handler r->used_path_info nicht
> aus, dann fährt er eben immer sein "fest gecodetes" Standardverhalten;
> da kann der Benutzer dann noch so viel an AcceptPathinfo
> konfigurieren, wie er will.
>
> Sollten noch statische Dateien über den core-Handler ausgeliefert
> werden, sollte AcceptPathinfo nicht verändert werden. Da dein Handler
> nicht dateisystembasiert arbeitet (du wertest r->uri aus?), sollte
> diesem path-info egal sein.
>
> Bob
>
> --------------------------------------------------------------------------
>                 Apache HTTP Server Mailing List "users-de"
>       unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
>            sonstige Anfragen an users-de-help@httpd.apache.org
> --------------------------------------------------------------------------



-- 
COMPARAT Software-Entwicklungs-GmbH
Prießstraße 16
23558 Lübeck
Telefon: 0451/479 56 60
Fax: 0451/479 56 62
Web: www.comparat.de + www.bkupserver.de
Geschf: Manfred Rebentisch
AG Lübeck, HRB 3559
-- 
COMPARAT Software-Entwicklungs-GmbH
Prießstraße 16
23558 Lübeck
Telefon: 0451/479 56 60
Fax: 0451/479 56 62
Web: www.comparat.de + www.bkupserver.de
Geschf: Manfred Rebentisch
AG Lübeck, HRB 3559
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Notiz: Wenn Sie mir das erste Mal eine E-Mail senden, kann es 
passieren, dass Sie Ihre Mail als nicht zustellbar zurückerhalten. 
Dies kommt durch einen radikalen SPAM-Schutz beim E-Mail-Provider 
und durch eine falsche Konfiguration von Mail-Systemen zwischen 
Ihnen und meinem Provider.
Senden Sie die Mail einfach nocheinmal, denn das System nimmt die Mail
immer erst ab dem zweiten Mal an.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- 
COMPARAT Software-Entwicklungs-GmbH
Prießstraße 16
23558 Lübeck
Telefon: 0451/479 56 60
Fax: 0451/479 56 62
Web: www.comparat.de + www.bkupserver.de
Geschf: Manfred Rebentisch
AG Lübeck, HRB 3559

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------