Patrick Andrieu: Pfad der aufrufenden shtml datei ermitteln

Beitrag lesen

Hallo Martin!

Wenn ich in der shtml datei beim Aufruf des Scriptes den domainnamen weglasse, gehts wie gewünscht, also so:

<!--#exec cgi="/cgi-bin/simple.pl"-->

Mein Fehler, hätte ich erwähnen müssen. Es sind »Server Side Includes« für serverinterne Arbeiten - das hat nichts mit HTTP zu tun.

DOCUMENT_ROOT

gibt den serverinternen Pfad bis zum Wurzelverzeichnis, ja

und DOCUMENT_URI

reagiert je nach Server unterschiedlich, wie in meinem vorigen Post erwähnt. Nach dem Umzug vom alten Hoster zu 1&1 musste ich erstmal alle Skripte anpassen, die mittels SSI in .shtml-Dateien eingebunden waren und den Namen/Pfad der aufrufenden Datei brauchten. Wie gesagt, auf meinem Server brauche ich SCRIPT_URL.

wenn ich nicht manuell mit chdir in das gewünschte Verzeichnis wechsle.
Ohne chdir gehts bei mir weder unter IIS noch dem Apache.

Das verstehe ich nicht. Es dürfte reichen, dem Skript den Pfad bekannt zu geben, oder? Nehmen wir an, Du willst die Bilder Deiner Haustiere suchen, die im folgenden Ordner sind:

/root/myhtml/mypics/mypets/

dann reicht im Skript:

$path = "/root/myhtml/mypics/mypets/";

und:

opendir (ORDNER, "$dirpath") or die "SOMETHING WRONG: $!";
my @FILES = sort grep(!/^.{1,2}$/, readdir(ORDNER));
closedir (ORDNER);

da brauchst Du IMHO kein: chdir $path or die "Huh?";

sonst kann man damit leicht den Inhalt eines geschützten Ordners ausgeben ohne sich jemals angemeldet zu haben!
ist das normal ?

Wenn Du mit »geschützten Ordnern« solche meinst, die eine HTTP-Auth erfordern (User muss sich mit Username/Pw einloggen), dann ja. Denn das Skript arbeitet auf dem Server, und hat mit HTTP nichts am Hut.

Viele Grüße aus Frankfurt/Main,
Patrick

--

_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?