Rolf B: Pfad, Url ermitteln

Beitrag lesen

Hallo TS,

man kann einschalten, dass ein PHP Script ausgeführt wird auch wenn es irgendwo im Pfad liegt. Das ist für Routen-URLs interessant, die man ohne mod_rewrite verarbeiten will.

http://example.org/foo/bar/test.php/arg/orc;foo=bar?q=7

SCRIPT_NAME: /foo/bar/test.php
PHP_SELF   : /foo/bar/test.php/arg/orc;foo=bar

Allerdings verhalten sich hier die Webserver meines Wissens unterschiedlich, zumindest hatte ich da bei meiner lokalen IIS Testinstallation für eine Linux-Webseite Unterschiede zu beachten. Ich kenne sie nur grad nicht mehr 😊

PHP_SELF enthält demnach Teile, die nicht zur Lokalisierung des Scripts benötigt werden und damit böse sein können. Die sind in SCRIPT_NAME nicht enthalten, d.h. wenn das PHP Script gefunden wird, kann dieser Teil der URL so böse nicht sein.

Das Semikolon als Path-Parameter ist zwar in der Spec (gewesen), aber zumindest der IIS akzeptiert es nicht. Ob der Apache es tut, kann ich nicht sagen, und weiß daher auch nicht, ob ein solcher Parameter als potenziell Pöser Pupe in SCRIPT_NAME erscheint.

Rolf

--
sumpsi - posui - obstruxi