Ingo Siemon: Referer anzeigen

Hallo

Ich habe per .htaccess-Datei dafür gesorgt,
dass eine eigene 404er Fehlerseite angezeigt wird.

Nun würde ich gerne auf dieser 404er Fehlerseite auch
den Namen der aufgerufenen (aber nicht mehr vorhandenen Datei) anzeigen.

So nach dem Motto:
"Die gewünschte Datei (xyz.htm) ist leider nicht mehr vorhanden"

Kann mir jemand einen Denkanstoss geben, wie ich das
am betsen lösen kann?

Gruß
Ingo

  1. Hallo Ingo.

    Nun würde ich gerne auf dieser 404er Fehlerseite auch
    den Namen der aufgerufenen (aber nicht mehr vorhandenen Datei) anzeigen.

    […]

    Kann mir jemand einen Denkanstoss geben, wie ich das
    am betsen lösen kann?

    Das hängt davon ab, was du zur Verfügung stehen hast (SSI? PHP? …?) und was du kannst. Selbst mit JavaScript ist dies machbar.

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/
    1. Hallo Ashura

      Das hängt davon ab, was du zur Verfügung stehen hast (SSI? PHP? …?) und was du kannst. Selbst mit JavaScript ist dies machbar.

      Zur Verfügung steht unter anderem PHP und SSI.
      Ich würde das am liebsten per PHP machen.
      Oder ist das was anderes ratsamer?

      Können tu ich PHP leider nur ein kleines bisschen.
      Darum benötige ich auch Hilfe.

      Gruß
      Ingo

      1. hi,

        Zur Verfügung steht unter anderem PHP und SSI.
        Ich würde das am liebsten per PHP machen.

        Dann schau dir mittels print_r($_SERVER) an, wo du deine gewünschte Info findest.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hell-O!

        Zur Verfügung steht unter anderem PHP und SSI.
        Ich würde das am liebsten per PHP machen.

        Dann schau dir mal die Variable $_SERVER an. Wie man diese ausgibt, wirst du sicher schon wissen. Übrigens, mit dem Referrer hat dein Problem nichts zu tun.

        Siechfred

        1. Hallo Siechfred

          Dann schau dir mal die Variable $_SERVER an. Wie man diese ausgibt, wirst du sicher schon wissen.

          OK, ich habe das nun so gemacht:
          <?php echo strtoupper(substr($_SERVER['REQUEST_URI'],16,-4)); ?>
          und es klappt ganz genau so, wie ich mir gewünscht habe.

          Übrigens, mit dem Referrer hat dein Problem nichts zu tun.

          Ja stimmt natürlich.
          Ich wusste nur nicht, wie ich es sonst bezeichnen sollte.
          Au die Idee, die Du hattest, bin ich nicht gekommen.

          Vielen lieben Dank für Eure Hilfe und
          Gruß aus Münster
          Ingo

          1. hi,

            OK, ich habe das nun so gemacht:
            <?php echo strtoupper(substr($_SERVER['REQUEST_URI'],16,-4)); ?>
            und es klappt ganz genau so, wie ich mir gewünscht habe.

            Damit wird die Seite aber anfällig für Cross Site Scripting/XSS - da der Client u.U. Möglichkeiten hat, den REQUEST_URI zu manipulieren.
            Wende also bitte noch htmlspecialchars() auf den Wert an, bevor du ihn in die Seite ausgibst.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hallo wahsaga

              Damit wird die Seite aber anfällig für Cross Site Scripting/XSS - da der Client u.U. Möglichkeiten hat, den REQUEST_URI zu manipulieren.

              OK, ich verstehe.

              Wende also bitte noch htmlspecialchars() auf den Wert an, bevor du ihn in die Seite ausgibst.

              Dann müsste es do so richtig sein:
              <?php echo htmlspecialchars(strtoupper(substr($_SERVER['REQUEST_URI'],16,-4)), ENT_QUOTES); ?>

              richtig?

              Gruß
              Ingo

            2. Hi wahsaga,

              Damit wird die Seite aber anfällig für Cross Site Scripting/XSS - da der Client u.U. Möglichkeiten hat, den REQUEST_URI zu manipulieren.
              Wende also bitte noch htmlspecialchars() auf den Wert an, bevor du ihn in die Seite ausgibst.

              Grundsätzlich hast du natürlich Recht - aber ist das hier wirklich so von Wichtigkeit? Will sagen, die Seite erhält in der der Form doch nur der aufrufende Client, der Angreifer würde doch also nur sich selber schaden - oder sehe ich da entwas grundliegend falsch?

              MfG, Dennis.

              1. Hallo Dennis,

                Grundsätzlich hast du natürlich Recht - aber ist das hier wirklich so von Wichtigkeit? Will sagen, die Seite erhält in der der Form doch nur der aufrufende Client, der Angreifer würde doch also nur sich selber schaden - oder sehe ich da entwas grundliegend falsch?

                das dachte ich auch, aber wenn ein Spammer mittels HTML-Mail einen verdeckten Verweis zur Anzeige bringen kann, ist dort schon Schindluder machbar. Per Default kann die Anfragezeile des Apachen 8kB groß sein. Mit 8kB hast Du genug Platz, um das gesammte Dokument nach Deinen Vorstellungen aussehen zu lassen.

                Gruß aus Berlin!
                eddi

                --
                Wer Rechtschreibfehler findet, darf sie behalten.
                1. Lieber Eddi

                  das dachte ich auch, aber wenn ein Spammer mittels HTML-Mail einen verdeckten Verweis zur Anzeige bringen kann, ist dort schon Schindluder machbar. Per Default kann die Anfragezeile des Apachen 8kB groß sein. Mit 8kB hast Du genug Platz, um das gesammte Dokument nach Deinen Vorstellungen aussehen zu lassen.

                  Aber so:
                  <?php echo strtoupper(substr($_SERVER['REQUEST_URI'],16,-4)); ?>
                  müsste das doch sicher sein, oder was meinst Du?

                  Gruß
                  Ingo

                  1. Sorry, ich meinte natürlich so:
                    <?php echo htmlspecialchars(strtoupper(substr($_SERVER['REQUEST_URI'],16,-4)), ENT_QUOTES); ?>

                    1. Hallo Ingo,

                      <?php echo htmlspecialchars(strtoupper(substr($_SERVER['REQUEST_URI'],16,-4)), ENT_QUOTES); ?>

                      mir ist zwar nicht klar, warum strtoupper() Verwendung findet, aber sicher ist es jetzt - ja.

                      Gruß aus Berlin!
                      eddi

                      --
                      Wer Rechtschreibfehler findet, darf sie behalten.
                      1. Lieber Eddi

                        mir ist zwar nicht klar, warum strtoupper() Verwendung findet,´

                        Das hat einen ganz anderen Grund, der mit meinem Anliegen
                        bezüglich der Sicherheit nix zu tun hat.

                        aber sicher ist es jetzt - ja.

                        Das freut mich doch zu hören :)
                        Danke für den Tipp.

                        Gruß
                        Ingo

  2. Hell-O!

    Ich habe per .htaccess-Datei dafür gesorgt, dass eine eigene 404er Fehlerseite angezeigt wird.
    Nun würde ich gerne auf dieser 404er Fehlerseite auch den Namen der aufgerufenen (aber nicht mehr vorhandenen Datei) anzeigen.

    Diese Information steht serverseitig in der CGI-Umgebungsvariable REQUEST_URI zur Verfügung. Ggf. in Kombination mit SERVER_NAME lässt sich eine vollständige URL zusammenbauen. Wie das geht, hängt von der serverseitigen Technik ab, das Einfachste wäre SSI.

    Siechfred