Fritz: header referrer mitschicken

Hallo,

ich versuche, per PHP beim Aufruf einer Datei den referrer zu ändern.
Konkret:
Ich rufe eine Datei per header("Location: http:// ... auf.
Die aufgerufene Datei zeigt als Referrer: http://example.com/foo.php
Ich möchte, daß die aufgerufenen Datei den Referrer:
http://example.com/foo.php?var=irgendwas zu sehen kriegt.

Versucht hab ich das mit
header("Referer: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?var=".$bar);

Diesen header schreib ich vor dem Location header.

Irgendwas stimmt an meinem Ansatz aber nicht. Es kommt bei der aufgerufenen Datei immer der Original URI der aufrufenden Datei an, ohne ?var=".$bar, bzw. mit der Originalvariablen der aufrufenden Datei.

Was hab ich falsch gemacht?
Oder sollte mein Vorhaben gar nicht zu realisieren sein?

Gruß Fritz

--
ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
http://webdesign.weisshart.de
  1. Hi,

    Versucht hab ich das mit
    header("Referer: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?var=".$bar);

    dies ist der Response Deines Servers. Ein Referer wird - falls überhaupt - vom Client beim Request gesendet. Es existiert kein Weg, dies von der Serverseite aus zu beeinflussen.

    Was hab ich falsch gemacht?

    Du siehst eine wie auch immer geartete Relevanz im Referer-Header. Die dort eventuell enthaltenen Informationen haben nicht den geringsten Nutzwert.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo,

      Ein Referer wird - falls überhaupt - vom Client beim Request gesendet.

      Ist das nicht genau das, was ich tue? Ich (der Client) sende einen header("Referer: ...

      Es existiert kein Weg, dies von der Serverseite aus zu beeinflussen.

      Wie machen das die sog. Anonymizer?

      Du siehst eine wie auch immer geartete Relevanz im Referer-Header. Die dort eventuell enthaltenen Informationen haben nicht den geringsten Nutzwert.

      Ich werte den Referrer per Javascript aus, um den Suchstring, mit dem meine Seiten z.B. bei Google gefunden werden, in der Zielseite zu kennzeichnen.
      http://webdesign.weisshart.de/blog.php?p=36

      Gruß Fritz

      --
      ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
      http://webdesign.weisshart.de
      1. Hi,

        Ist das nicht genau das, was ich tue? Ich (der Client) sende einen header("Referer: ...

        nein. Du bist der Server. Du antwortest. Der Referer steht bei der Frage.

        Es existiert kein Weg, dies von der Serverseite aus zu beeinflussen.
        Wie machen das die sog. Anonymizer?

        Sie sind Proxies.

        Ich werte den Referrer per Javascript aus, um den Suchstring, mit dem meine Seiten z.B. bei Google gefunden werden, in der Zielseite zu kennzeichnen.

        Übertrage diese Information - falls vorhanden - auf andere Weise. Es böte sich beispielsweise ein URL-Parameter an.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo,

          Ich werte den Referrer per Javascript aus, um den Suchstring, mit dem meine Seiten z.B. bei Google gefunden werden, in der Zielseite zu kennzeichnen.

          Übertrage diese Information - falls vorhanden - auf andere Weise. Es böte sich beispielsweise ein URL-Parameter an.

          Solange ich innerhalb meiner Site bleibe, ist das klar und der einfachste Weg.
          Aber Google und Co. werden mir den Gefallen nicht tun ;-)
          Dort sehen die Trefferseiten nun mal folgendermaßen aus:
          http://www.google.de/search?q=suchbegriff
          und wenn ich dann von einer solchen Google Trefferseite auf meine Seiten komme, steht mir eben nur dieser Referrer zur Verfügung.

          Und für einen Sonderfall bei meiner seiteninternen Suche wollte ich den Referrer entsprechend ändern, d.h., an die aufrufende Seite _nachträglich_ einen URL-Parameter anhängen.
          Klartext:
          aus der Seite www.example.com/suchen.php sollte _vor_ dem redirect an die Zielseite die URL www.example.com/suchen.php?q=suchbegriff werden.
          Und das gelingt mir nicht, wie ich es auch versuche.

          Gruß Fritz

          --
          ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
          http://webdesign.weisshart.de
          1. Hi,

            Und für einen Sonderfall bei meiner seiteninternen Suche wollte ich den Referrer entsprechend ändern, d.h., an die aufrufende Seite _nachträglich_ einen URL-Parameter anhängen.
            Klartext:

            Du willsr nicht den Referrer ändern, sondern die URL.

            aus der Seite www.example.com/suchen.php sollte _vor_ dem redirect an die Zielseite die URL www.example.com/suchen.php?q=suchbegriff werden.

            Und wo siehst Du hier ein Problem?

            freundliche Grüße
            Ingo

            1. Hallo,

              Und wo siehst Du hier ein Problem?

              Folgendes Problem (wie schon im Ausgangsposting beschrieben):
              Die Seite www.example.com/suchen.php leitet per header("Location: ... an eine Zielseite weiter.
              Nun will ich nachträglich an erstere Seite www.example.com/suchen.php einen Parameter anhängen, in der Form www.example.com/suchen.php/?q=irgendwas.
              Also _nicht_ einen Parameter an die Zeilseite übergeben, sondern die URL der ersteren Seite vor dem redirect ändern.

              Versucht hab ich's wie im Ausgangsposting, aber das Javascript, das in der Zielseite den Referrer abarbeitet, sieht nur die ursprüngliche URL, nicht den angehängten Parameter (bzw. den alten Parameter, vor dem Versuch der Änderung)

              Gruß Fritz

              --
              ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
              http://webdesign.weisshart.de
              1. hi,

                Die Seite www.example.com/suchen.php leitet per header("Location: ... an eine Zielseite weiter.
                Nun will ich nachträglich an erstere Seite www.example.com/suchen.php einen Parameter anhängen, in der Form www.example.com/suchen.php/?q=irgendwas.
                Also _nicht_ einen Parameter an die Zeilseite übergeben, sondern die URL der ersteren Seite vor dem redirect ändern.

                das wird vermutlich nicht funktionieren.

                Versucht hab ich's wie im Ausgangsposting, aber das Javascript, das in der Zielseite den Referrer abarbeitet, sieht nur die ursprüngliche URL, nicht den angehängten Parameter (bzw. den alten Parameter, vor dem Versuch der Änderung)

                dir wurde doch bereits vorgeschlagen, eben dieses javascript derart zu erweitern, dass es sich den suchbegriff nicht nur aus dem referrer herausfischen kann, sondern auch bei ZIELseite.xyz?q=irgendwas diesen parameter erkennt und auswertet.
                location.search ist das erste stichwort diesbezüglich.

                gruß,
                wahsaga

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

                  das wird vermutlich nicht funktionieren.

                  Ingo sah kein Problem darin: < http://forum.de.selfhtml.org/my/?t=108541&m=676377>
                  Nur darum hab ich den thread hier noch mal fortgeführt.
                  Vielleicht gibt Ingo ja noch ein bißchen mehr Detailwissen preis ;-)

                  Versucht hab ich's wie im Ausgangsposting, aber das Javascript, das in der Zielseite den Referrer abarbeitet, sieht nur die ursprüngliche URL, nicht den angehängten Parameter (bzw. den alten Parameter, vor dem Versuch der Änderung)

                  ... eben dieses javascript derart zu erweitern, dass es sich den suchbegriff nicht nur aus dem referrer herausfischen kann, sondern auch bei ZIELseite.xyz?q=irgendwas diesen parameter erkennt und auswertet.

                  ja, _erweitern_ ist ein brauchbarer Hinweis; _ändern_ war nicht möglich, wegen https://forum.selfhtml.org/?t=108541&m=676209

                  Gruß Fritz

                  --
                  ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
                  http://webdesign.weisshart.de
              2. Hi,

                Nun will ich nachträglich an erstere Seite www.example.com/suchen.php einen Parameter anhängen, in der Form www.example.com/suchen.php/?q=irgendwas.

                wieso nachträglich? Du kannst über Javascript den Link manipulieren.
                Und wieso jetzt einen Parameter, wo Du eingangs schriebst:

                per PHP beim Aufruf einer Datei den referrer zu ändern

                ?

                freundliche Grüße
                Ingo

                1. Hallo,

                  wieso nachträglich? Du kannst über Javascript den Link manipulieren.
                  Und wieso jetzt einen Parameter, wo Du eingangs schriebst:

                  per PHP beim Aufruf einer Datei den referrer zu ändern
                  ?

                  Ich wollte nicht den Link manipulieren (das ist ja nun wirklich kein Problem), sondern der aufgerufenen Datei einen Referrer (URL der aufrufenden Seite) übergeben, der um einen Parameter (?q=eirgendwas) verlängert wurde.
                  Und das scheint nach übereinstimmender Meinung nicht zu funktionieren.

                  Aber wahsaga hat mir jetzt den entscheidenden Hinweis gegeben. https://forum.selfhtml.org/?t=108541&m=676450

                  Gruß Fritz

                  --
                  ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
                  http://webdesign.weisshart.de
      2. Hallo,

        Ist das nicht genau das, was ich tue? Ich (der Client) sende einen header("Referer: ...

        Nein, Du (der Client) sagt dem Server: führe das PHP-Script aus und liefere den Referrer, den Dir das Script sagt - und genau _das_ wird nicht funktionieren.

        Gruß Mike

  2. Hi,

    header("Referer: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?var=".$bar);

    Damit schickst Du dem Client (also vermutlich dem Browser) einen Referer-Header.
    Da Referer-Header wenn überhaupt, dann üblicherweise vom Client zum Server geschickt werden, wird der Client diesen Header ignorieren.
    Der Client schickt den vom Server empfangenen Referer-Header jedenfalls nicht an den Server, von dem er die per Location-Header empfangene URL anfordert.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hello,

      kann JavaScript eigentlich auf den Referer zugreifen?

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hallo,

        kann JavaScript eigentlich auf den Referer zugreifen?

        Ja. Zumindest lesend:
        http://webdesign.weisshart.de/blog.php?p=36

        Gruß Fritz

        --
        ie:( br:> va:} ls:[ fo:| ss:{ de:] js:| ch:? zu:)
        http://webdesign.weisshart.de
        1. Hello,

          kann JavaScript eigentlich auf den Referer zugreifen?

          Ja. Zumindest lesend:
          http://webdesign.weisshart.de/blog.php?p=36

          Ja, das war mir doch so. Sonst könnte man schließlich schon wieder tricksen.
          Sollte man aber mal ausprobieren, welche Browser sich wirklich gegen das Beschreiben der Eigenschaft sträuben.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. n'Abend!

            kann JavaScript eigentlich auf den Referer zugreifen?
            Ja. Zumindest lesend:

            Sollte man aber mal ausprobieren, welche Browser sich wirklich gegen das Beschreiben der Eigenschaft sträuben.

            Hmm. Vom akademischen Standpunkt vielleicht interessant.
            Aber was sollte das helfen? Javascript wird clientseitig ausgeführt, nachdem das ganze HTTP-Gesocks abgehandelt ist. Was du andeutest, ist doch so ähnlich, als würde ich einen Brief bekommen und dann, wenn ich den Umschlag öffne, noch die Absenderadresse durchstreichen und ersetzen. Damit würde ich mir doch nur selbst was in die Tasche lügen.
            Also was willst du damit erreichen?

            So long,

            Martin

            1. Hello,

              Aber was sollte das helfen? Javascript wird clientseitig ausgeführt, nachdem das ganze HTTP-Gesocks abgehandelt ist. Was du andeutest, ist doch so ähnlich, als würde ich einen Brief bekommen und dann, wenn ich den Umschlag öffne, noch die Absenderadresse durchstreichen und ersetzen. Damit würde ich mir doch nur selbst was in die Tasche lügen.
              Also was willst du damit erreichen?

              Nö, eher als würdest Du einen Rückumschlag beifügen, ..., sodass der nächsten Request eben mit dem gefälschten Referrer abgesendet wird.
              Gilt natürlich nur, wenn der Browser tatsächlich so kaputt ist, wie man das aber leider manchmal hat...

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
      2. Hallo Tom,

        kann JavaScript eigentlich auf den Referer zugreifen?

        Ja.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Für was setzt du eigentlich die ganze URL nochmal als Titel ein?

        Grüße aus Nürnberg
        Tobias

        1. Hello,

          Harzliche Grüße aus http://www.annerschbarrich.de
          Für was setzt du eigentlich die ganze URL nochmal als Titel ein?

          Hab ich nicht. Ist vielelicht ein Konsistenz-Problem des Forums-Updates?
          Oder liegt es vielleicht an Deinen Uswer-Einstellungen?

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Hallo Tom,

            Harzliche Grüße aus http://www.annerschbarrich.de
            Für was setzt du eigentlich die ganze URL nochmal als Titel ein?
            Hab ich nicht. Ist vielelicht ein Konsistenz-Problem des Forums-Updates?
            Oder liegt es vielleicht an Deinen Uswer-Einstellungen?

            mhh... stimmt, bei mir war die Option "Die Variable %t durch die URL ersetzen, wenn kein Linktitel angegeben wurde." aktiv - für was die allerdings gut sein soll, weiß ich nicht ...

            Grüße aus Nürnberg
            Tobias

            1. Hi,

              mhh... stimmt, bei mir war die Option "Die Variable %t durch die URL ersetzen, wenn kein Linktitel angegeben wurde." aktiv - für was die allerdings gut sein soll, weiß ich nicht ...

              Ich hab in meinem Link-Template [>%t<] angegeben.
              Früher wurde bei fehlendem Titel dann nur die verlinkte URL ohne [><] angezeigt.
              Jetzt wird bei fehlendem Titel die verlinkte URL zwischen [><] angezeigt, bei vorhandenem Titel eben der Titel zwischen den [><]

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        2. Hi,

          Harzliche Grüße aus http://www.annerschbarrich.de
          Für was setzt du eigentlich die ganze URL nochmal als Titel ein?

          Es gibt eine neue User-Einstellung:

          [X] Die Variable %t durch die URL ersetzen, wenn kein Linktitel angegeben wurde.

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. Heißa, MudGuard,

            Es gibt eine neue User-Einstellung:

            Interessant, was es da mittlerweile alles gibt. Besonders zutreffend fand ich, dass grafische Smileys unter „potentiell störenden Features“ aufgelistet waren. ;-)

            Caramba!
            Grüße aus Biberach Riss,
            Candid Dauth

            --
            „Versuche niemals, jemandem eine Meinung zu bilden; erläutere ihm maximalerweise alle ausschlaggebenden Fakten, aus welchen er sich dann eine eigene Meinung bilden kann.“ | Mein SelfCode
            http://cdauth.de/