Claus: IP-Adresse ermitteln in JS für eigene Statistik

hallo,

für meine perl-templates habe ich für meine user-statistik die umgebungsvariablen genutzt und abgespeichert. funzt!

da das bei normalen html-seiten nicht geht, nehme ich hier die js-variablen und rufe aus der jeweiligen html-seite mit
document.write("<img src=http://www.meinedomain.de/cgi-bin/baseportal.pl?htx=/aci/pac903&programm=pac501&referer="+document.referrer+"&useragent="+navigator.userAgent+" width=1 height=1 border=0>");
auf. das funzt auch soweit!

jetzt habe ich aber noch folgendes problem:
woher bekomme ich die ip-adresse in einer "normalen" html-seite? als js-variable gibts die ja wohl nicht.
und was mach ich bei einem frameset? wo muss der aufruf hin, damit ich auch hier den referrer bekomme?

danke und gruss

claus

  1. Hi,

    woher bekomme ich die ip-adresse in einer "normalen" html-seite? als js-variable gibts die ja wohl nicht.

    aus der Umgebungsvariable REMOTE_ADDR, die serverseitig vorliegt. JavaScript kann den Wert nicht ermitteln (Java schon).

    und was mach ich bei einem frameset?

    Es ist eher selten, dass in einem einzigen Browserfenster verschiedene Rechner die einzelnen Frames aufrufen... ;-)

    wo muss der aufruf hin, damit ich auch hier den referrer bekomme?

    Der top.document.referrer kann von überall ermittelt werden. Genau wie der HTTP_REFERER ist er aber niemals verlässlich.

    Cheatah

    1. hallo cheatah,

      leider kann ich mit deinen antworten nichts anfangen, da diese ja schon in meiner fragestellung enthalten war:

      • REMOTE_ADDR ist mir schon bekannt aus meinen templates, wo ich sie mit perl abgreife, aber ich suche eine möglichkeit für meine normalen html-seiten und java möchte ich nicht unbedingt einsetzen, da das ja doch nicht so oft enabled ist als JS. anm.: wie machen es eigentlich provider von countern, deren script man nur in den html-code einsetzen muss?

      • dein kommentar zum frameset habe ich leider nicht verstanden.
        mir geht es einfach darum, den ursprungsreferrer zu bekommen (der, der auf die index.htm zugreift, bei der seite , die durch ein frameset aufgerufen wird, bekomme ich nur den eigenen referrer.

      gruss

      1. hi,

        mir geht es einfach darum, den ursprungsreferrer zu bekommen (der, der auf die index.htm zugreift, bei der seite , die durch ein frameset aufgerufen wird, bekomme ich nur den eigenen referrer.

        die frage wurde doch schon beantwortet : document.top.referrer

        mfg, jan

        1. hi,

          die frage wurde doch schon beantwortet : document.top.referrer

          gute Besserung: top.document.referrer

          Gruss  Joachim

      2. Hi,

        ich suche eine möglichkeit für meine normalen html-seiten

        clientseitig kannst Du die IP-Adresse nicht ermitteln, wenn Du maximal JavaScript einsetzen willst.

        und java möchte ich nicht unbedingt einsetzen,

        Da es sich höchstens um ein "Goodie" handeln kann (btw: welchen Nutzen kann der User daraus ziehen?), zumal Du bereits durch JavaScript die Nutzerzahl einschränkst, ist es doch auch egal, Java einzusetzen. Du brauchst dafür kein Applet, sondern sprichst lediglich aus JavaScript heraus ein Java-Objekt an. Im Archiv sollte der genaue Code zu finden sein.

        wie machen es eigentlich provider von countern, deren script man nur in den html-code einsetzen muss?

        Selbstverständlich serverseitig. Überall sonst ist die IP eh nicht von Belang.

        • dein kommentar zum frameset habe ich leider nicht verstanden.

        Es war ein Scherz, der sich auf den ziemlich schnellen Übergang von IP zu Referrer stützt :-)

        mir geht es einfach darum, den ursprungsreferrer zu bekommen (der, der auf die index.htm zugreift, bei der seite , die durch ein frameset aufgerufen wird, bekomme ich nur den eigenen referrer.

        Bitte nicht die wechstabenverbuzzelte Variante von jan verwenden ;-) In einem document-Objekt gibt es kein top-Unterobjekt. Wohl aber gibt es ein top, welches, da es vom Typ window ist, ein Unterobjekt namens document besitzt.

        Cheatah

        1. Hallo Cheatah,

          Du brauchst dafür kein Applet, sondern sprichst lediglich aus
          JavaScript heraus ein Java-Objekt an.

          würde das in meinem Browser funktionieren, in dem ich zwar JavaScript
          aktiv habe, aber Java abgeschaltet (weil ich keine beliebig großen
          Applets über mein langsames Modem laden will, ohne mir dessen explizit
          bewußt zu sein)?

          Viele Grüße
                Michael

  2. hallo,

    für meine perl-templates habe ich für meine user-statistik die umgebungsvariablen genutzt und abgespeichert. funzt!

    da das bei normalen html-seiten nicht geht, nehme ich hier die js-variablen und rufe aus der jeweiligen html-seite mit
    document.write("<img src=http://www.meinedomain.de/cgi-bin/baseportal.pl?htx=/aci/pac903&programm=pac501&referer="+document.referrer+"&useragent="+navigator.userAgent+" width=1 height=1 border=0>");
    auf. das funzt auch soweit!

    jetzt habe ich aber noch folgendes problem:
    woher bekomme ich die ip-adresse in einer "normalen" html-seite? als js-variable gibts die ja wohl nicht.

    Frag die doch in deinem Programm baseportal.pl ab. Da hast du wieder alle Umgebungsvariablen.

    By
    Reinhard