Gustl: HTTP_HOST

Hallo, ich wünsche Dir einen erfolgreichen Tag!

Bin nicht sicher ob ich den Themenbereich richtig gewählt habe.

Mein Banner wird auf einer externen Site angeklickt. Meine URL ist ein Script, das den Klick zählt und dann auf meine Site weiterleitet.

Jetzt würde ich gerne zusätzlich wissen wollen, von welcher Site der Klick kommt in Form von www.vonhier.x

Ich dachte mir:

<a href="http://www.example.com/cgi-bin/click.pl?abs=$ENV{'HTTP_HOST'}">...</a>

Ich geh mal davon aus, dass der fremde Server entspr. konfiguriert sein muss um diese Info zu übermitteln, denn ich krieg´s nicht geliefert. Mein Server macht das schon.

Gibt es eine zuverlässige Möglichkeit da dran zu kommen?

Danke!

--
Theorie: Alles ist möglich - Praxis: Nix funzt - Ich bin eben ein Mann der Praxis

--
G. DAVID
  1. Hallo liebe SELFHTMLer,

    schau dir mal das [code=php]ARRAY $_SERVER[/code] etwas genauer an.

    LG
    kev1n

    --

    SELFCODE:
    sh:( fo:| ch:? rl:° br:^ ie:{ mo:| va:) de:] zu:) ss:| ls:[ js:|
    ---
  2. Hallo,

    http://www.w3schools.com/htmldom/prop_doc_referrer.asp

    Paul

    1. Hallo, ich wünsche Dir einen erfolgreichen Tag!

      Hallo Paul, meine Frage war eigentlich wie ich die URL am einfachsten an mein Script übermitteln kann.

      Hallo,

      http://www.w3schools.com/htmldom/prop_doc_referrer.asp

      Paul

      --
      Theorie: Alles ist möglich - Praxis: Nix funzt - Ich bin eben ein Mann der Praxis

      --
      G. DAVID
  3. Mahlzeit,

    Mein Banner wird auf einer externen Site angeklickt. Meine URL ist ein Script, das den Klick zählt und dann auf meine Site weiterleitet.

    Dann kann Dein Skript sicherlich auch $_SERVER["HTTP_REFERER"] oder etwas ähnliches auswerten, oder?

    <a href="http://www.example.com/cgi-bin/click.pl?abs=$ENV{'HTTP_HOST'}">...</a>

    Vermischt Du da nicht HTML und sowas ähnliches wie eine serverseitige Skriptsprache? Was genau soll dieser Code sein? Der HTML-Code, den Du an die Leute verteilst, die auf Dich verlinken? Dann kannst Du nicht davon ausgehen, dass diese mehr als HTML können ... aber musst Du ja auch gar nicht (s.o.).

    Gibt es eine zuverlässige Möglichkeit da dran zu kommen?

    Der Referer wird vom Browser mitgeliefert - oder eben auch nicht. Ansonsten müsstest Du in der Tat Deine "Verlinker" verpflichten, z.B. einen individuellen "Partner-Code" oder sowas im Link anzugeben, um dann anhand dessen die Links zuordnen zu können.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hi Ekki,

      Mahlzeit,

      Mein Banner wird auf einer externen Site angeklickt. Meine URL ist ein Script, das den Klick zählt und dann auf meine Site weiterleitet.

      Dann kann Dein Skript sicherlich auch $_SERVER["HTTP_REFERER"] oder etwas ähnliches auswerten, oder?

      Mein Script soll nichts auswerten, es soll diesen Wert nur geliefert kriegen.

      Vermischt Du da nicht HTML und sowas ähnliches wie eine serverseitige Skriptsprache? Was genau soll dieser Code sein? Der HTML-Code, den Du an die Leute verteilst, die auf Dich verlinken? Dann kannst Du nicht davon ausgehen, dass diese mehr als HTML können ... aber musst Du ja auch gar nicht (s.o.).

      Keine Ahnung ob ich was mische. Es muss NUR funktionieren. Ich versteh Dich nicht. Du meinst:

      <a href="http://www.example.com/cgi-bin/click.pl?abs=$_SERVER["HTTP_REFERRER"]">...</a>

      so funktioniert es? Ich kanns ja nicht testen, MEIN Server machts ja mit HTTP_HOST.

      Gibt es eine zuverlässige Möglichkeit da dran zu kommen?

      Der Referer wird vom Browser mitgeliefert - oder eben auch nicht. Ansonsten müsstest Du in der Tat Deine "Verlinker" verpflichten, z.B. einen individuellen "Partner-Code" oder sowas im Link anzugeben, um dann anhand dessen die Links zuordnen zu können.

      Ich könnte den Code nach Angabe dessen URL generieren lassen. Aber Du kannst Dir vorstellen, was die User da oft für einen Schwachsinn eintippen würden ... Deshalb brauche ich eine fehlerfreie Möglichkeit.

      Wie ist das mit JS? (document.referrer) oder auch (document.URL). Das ging doch. Ich hab nur keinen Schimmer wie ich den Wert einfach und kurz an meinen Link anhängen kann, weil ich ein absoluter JS-Idiot bin.

      MfG,
      EKKi

      --
      Theorie: Alles ist möglich - Praxis: Nix funzt - Ich bin eben ein Mann der Praxis

      --
      G. DAVID
      1. Mahlzeit,

        Mein Script soll nichts auswerten, es soll diesen Wert nur geliefert kriegen.

        Nochmal zum Mitschreiben:

        1. Möglichkeit: Dein Skript MUSS den Referrer auswerten. Der Referrer ist "die Seite, die vorher aufgerufen wurde" und wird - im Normalfall - vom Browser bei jedem Request mitgeliefert. Dafür müssen Deine "Verlinker" nichts ändern ... Nachteil: man kann sich nicht darauf verlassen, dass der Browser immer einen (korrekten) Referrer liefert.

        2. Möglichkeit: Deine "Verlinker" MÜSSEN in ihren HTML-Code irgendeine individualisierte Form von "Erkennungszeichen" einbauen und diesen an Dich übergeben. Aber auch dann MUSS Dein Skript dieses Erkennungszeichen auswerten ... Nachteile: Du kannst nicht davon ausgehen, dass Deine "Verlinker" mehr können als Links in HTML-Seiten einbauen (insbesondere kannst Du nicht voraussetzen, dass irgendeine Form von serverseitiger Skriptsprache wie PHP globale Server-Variablen auslesen und übergeben kann) und Deine "Verlinker" könnten theoretisch den größten Schwachsinn als "Erkennungszeichen" übergeben.

        Keine Ahnung ob ich was mische. Es muss NUR funktionieren. Ich versteh Dich nicht. Du meinst:

        <a href="http://www.example.com/cgi-bin/click.pl?abs=$_SERVER["HTTP_REFERRER"]">...</a>

        so funktioniert es?

        Nein, tut es nicht. Schrieb ich doch. Was übergibst Du Deinen "Verlinkern"? Reinen HTML-Code? HTML ist eine Seitenauszeichnungssprache und kann keine Server-Variablen o.ä. auslesen. Das $_SERVER["HTTP_REFERER"] war ein Beispiel von mir (in PHP-Syntax), wie Du in DEINEM Skript den Referrer auswerten könntest.

        Ich kanns ja nicht testen, MEIN Server machts ja mit HTTP_HOST.

        Ja - Skripte, die auf Deinem Server liegen, können natürlich Server-Variablen auslesen. Sie könnten deshalb auch genauso HTTP_REFERER auslesen.

        Ich könnte den Code nach Angabe dessen URL generieren lassen. Aber Du kannst Dir vorstellen, was die User da oft für einen Schwachsinn eintippen würden ... Deshalb brauche ich eine fehlerfreie Möglichkeit.

        Ja, kann ich - habe oft genug solche User erlebt. Ich muss Dich aber leider enttäuschen: eine derartige 100%ig fehlerfreie Möglichkeit gibt es nicht.

        Wie ist das mit JS? (document.referrer) oder auch (document.URL). Das ging doch. Ich hab nur keinen Schimmer wie ich den Wert einfach und kurz an meinen Link anhängen kann, weil ich ein absoluter JS-Idiot bin.

        Schriebst Du nicht was von "fehlerfrei"? Wieso sollte eine Möglichkeit mit Javascript fehlerfrei sein, wenn Du nicht davon ausgehen kannst, dass alle Benutzer Javascript auch tatsächlich aktiviert haben?

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hi Ekki,

          Mahlzeit,

          Danke!

          Also lange Rede, kurzer Sinn: Es gibt keine Möglichkeit sich den Referrer von der externen Seite zuverlässig mitliefern zu lassen.

          Das kann wohl so in die Forums-Analen eingehen :)

          Ich werde den Codegenerator so umbauen, dass der User vor der Generierung seine URL angeben muss und prüfe die Angabe mit LWP::UserAgent und LWP::Simple qw(get head) (perl) auf Erreichbarkeit. Mehr kann ich nicht tun.

          Auch wenn das Ergebnis nicht meinen Wünschen entsprach hat mir der Thread auf den richtigen Pfad geholfen :)

          Haken drunter. Danke.

          --
          Theorie: Alles ist möglich - Praxis: Nix funzt - Ich bin eben ein Mann der Praxis

          --
          G. DAVID