Manu: Ausgabe von URL ähnlich SELF_PHP

Hallo!

Ich suche nach einer PHP-Funktion, die mir den relativen Pfad einer PHP-Datei ausgibt, einschließlich der Dinge, die hinter dem Fragezeichen stehen (leider weiß ich nicht, wie man diese nennt!).

http://example.com/ordner/datei.php?q=hallo&lorem=ipsum

soll zu

/ordner/datei.php?q=hallo&lorem=ipsum

werden.

Mittels der Funktion $_SERVER['PHP_SELF'] kam ich schon zu

/ordner/datei.php

Wie komme ich an den Rest? Diese Webseite schien mir eine Antwort zu geben, aber ich habe hier nichts gefunden, was mir hätte helfen können.

Könnt ihr mir einen Tipp geben?

Gruß Manu

  1. Hello,

    hast Du Dir schon die Variable

    $_SERVER

    genauer angesehen?

    Am einfachsten mittels phpinfo()
    http://de3.php.net/manual/de/function.phpinfo.php

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Hi,

    Ich suche nach einer PHP-Funktion, die mir den relativen Pfad einer PHP-Datei ausgibt, einschließlich der Dinge, die hinter dem Fragezeichen stehen

    Dann redest du nicht vom Pfad zu einer PHP-Datei, sondern von einem URL.

    (leider weiß ich nicht, wie man diese nennt!).

    Das Fragezeichen einschliesslich Rest (bis vor den eventuell vorhandenen Hash) nennt sich Query-String.

    Und print_r($_SERVER) zeigt dir, wo du in diesem Array welche Info findest.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Hi,

      »» Ich suche nach einer PHP-Funktion, die mir den relativen Pfad einer PHP-Datei ausgibt, einschließlich der Dinge, die hinter dem Fragezeichen stehen

      Dann redest du nicht vom Pfad zu einer PHP-Datei, sondern von einem URL.

      »» (leider weiß ich nicht, wie man diese nennt!).

      Das Fragezeichen einschliesslich Rest (bis vor den eventuell vorhandenen Hash) nennt sich Query-String.

      Und print_r($_SERVER) zeigt dir, wo du in diesem Array welche Info findest.

      MfG ChrisB

      Super, danke! Dieser Befehlt half mir tatsächlich weiter! Es war $_SERVER['REQUEST_URI'] was ich suchte, jetzt habe ich es gefunden ;-)

      *GELÖST*

      1. Hello,

        Super, danke! Dieser Befehlt half mir tatsächlich weiter! Es war $_SERVER['REQUEST_URI'] was ich suchte, jetzt habe ich es gefunden ;-)

        Denek daran, dass Du dir (meistens) eine XSS-Lücke einbaust, wenn du die Request-URI unverändert wieder in die Response einbaust.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Denek daran, dass Du dir (meistens) eine XSS-Lücke einbaust, wenn du die Request-URI unverändert wieder in die Response einbaust.

          Was mach ich?

          1. Hello,

            Denk daran, dass Du dir (meistens) eine XSS-Lücke einbaust, wenn du die Request-URI unverändert wieder in die Response einbaust.

            Was mach ich?

            $_SERVER["REQUEST_URI"]     /script.php/hans/macht/quatsch/?bild=doof

            Ressoruce-- Path-Info---------  URi-Parameter

            XSS = http://de.wikipedia.org/wiki/Cross-Site_Scripting

            Wenn Du nun den Wert von $_SERVER['REQUEST_URI'] oder von $_SERVER['PHP_SELF']
            direkt wieder in z.B. ein Action-Attribut eines Forms einsetzt, dann wird dieses Formular entführbar, indem ein Bösewicht einem Gutgläubingen z.B. einfach einen manipulierten Link sendet oder auf seiner Seite einen solchen einbaut.

            Der Request _deines_ Originalformulares von _deinem_ Server lässt sich damit umlenken, auf einen fremden Server.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de