Kalle_Worms: IP-Adresse abfragen wegen Counter

Hallöle,

das Thema gab's sicher schon öfter ...

Aber irgendwie funzt die Suche im Archiv nicht. Wenn ich 2004 nach "ip-adresse" suche, fragt es nach dem Monat und hat dann den Suchbegriff vergessen. Jedenfalls kommen im November ALLE Beiträge.

Also: Bei Aufruf einer Webseite möchte ich den Counter weiterzählen. Wenn derselbe Benutzer die Seite wiederholt aufruft, aber für eine Stunde nicht mehr.

Mit echo phpinfo(); sehe ich die Variable REMOTE_ADDR.

Die würde ich in eine Datenbank mit Zeitstempel ablegen. Ist das korrekt?

Gruß, Kalle

  1. gibt REMOTE_ADR den einzelenen Rechner an oder eventuell nur den Rooter eines LAN ?

    Ich brauche den einzelnen Rechner.

    1. Hello,

      gibt REMOTE_ADR den einzelenen Rechner an oder eventuell nur den Rooter eines LAN ?

      den letzten NAT-Host der Kette. Das ist i.d.R. ein Router oder ein Proxy.

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

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
    2. Hallo du da draußen,

      gibt REMOTE_ADR den einzelenen Rechner an oder eventuell nur den Rooter eines LAN ?

      Meiner Erfahrung nach kommt das auf die Webserver-Konfiguration an (auch wenn es mir unlogisch erscheint). Früher bin ich zum Beispiel durch einen Proxy ins Internet gegangen. Und auf meinem Tripod-Account wurde als REMOTE_ADDR dann immer meine Adresse aus dem lokalen Netzwerk angezeigt. Auf einem anderen Webspace wiederrum wurde die IP-Adresse des Proxyservers angezeigt. Bei Tripod wurde die Adresse des Proxyservers in einer anderen Server-Variable gespeichert. Ich meine, mich zu erinnern, dass es sogar X_FORWARDED_FOR (oder wie das auch immer heißt) war.

      Grüße von hier drinnen, aus Biberach an der Riss,
      Candid Dauth (Dogfish)

      --
      »Bismarck biss Mark, bis Mark Bismarck biss!«
      http://cdauth.net.tc/
      ie:{ fl:( br: va:} ls:[ fo:| rl:( n4:( ss:) de:> js:( ch:| sh:( mo:) zu:|
  2. moin,

    du suchst die variable $_SERVER["REMOTE_ADDR"].
    ferner würde ich dir aber abraten eine db für einen counter zu nutzen da dies ressourcenverschwendung ist. nutze, wenn du schon selbst eine lösung programmieren willst lieber eine datei. ferner kannst du auch (wenn du es auf deinem server darfst) die http-server-logs auswerten.

    tschau

    1. moin,

      du suchst die variable $_SERVER["REMOTE_ADDR"].

      Eigentlich nicht, habe ich eben getestet. Zwei Rechner im WLAN haben prompt dieselbe REMOTE_ADDR. Gibt es eine EINdeutige Identifikation?

      Es geht hier um die Abrechnung von Zugriffen. Pro User zahlt mein Kunde, der User darf dann eine bestimmte Zeit (1 Std.) recherchieren. Wenn aber alle PC eines Firmennetzes als <<EIN>> User durchgehen, ist das für mich ungünstig.

      ferner würde ich dir aber abraten eine db für einen counter zu nutzen da dies ressourcenverschwendung ist.

      Okay, für eine Zahl, die nur weitergezählt wird, würde ich schon eine Datei nehmen. Aber hier geht es um beliebig viele User zeitlich parallel, deren Zeit zu überwachen ist (siehe oben).

      Der Kunde möchte monatlich eine Abrechnung, welche IPs zugegriffen haben, so ähnlich wie eine detaillierte Telefonabrechnung.

      Könnte man die IPs missbrauchen? Muss ich zum Thema Datenschutz was beachten? Aber IPs sind ja keine PERSÖNLICHEN Daten, oder ?

      ferner kannst du auch (wenn du es auf deinem server darfst) die http-server-logs auswerten.

      Bieten die mehr Informationen ?

      tschau

      danke gleichfalls.

      1. moin

        du suchst die variable $_SERVER["REMOTE_ADDR"].
        Eigentlich nicht, habe ich eben getestet. Zwei Rechner im WLAN haben prompt dieselbe REMOTE_ADDR. Gibt es eine EINdeutige Identifikation?

        session-id's ist eine möglichkeit einen user eindeutig zu identifizieren bzw. einen benutzer account erstellen der ein bestimmtes zeitkonto erhält.
        ip's sind denkbar ungünstig zu eindeutigen identifikation von computern geschweige denn usern. sobald sich ein computer/router neu zu seinem provider verbindert erhält er in 99% aller fälle eine neue ip.

        Der Kunde möchte monatlich eine Abrechnung, welche IPs zugegriffen haben, so ähnlich wie eine detaillierte Telefonabrechnung.

        ip's bringen ihm, wie oben schon gesagt nicht viel da sie nur im zusammenhang des genauen datums eine genau identifikation eines users ermöglichen. jedoch kann so nicht abgesichert werden das sich ein user nicht über eine andere ip einloggt.

        Könnte man die IPs missbrauchen? Muss ich zum Thema Datenschutz was beachten? Aber IPs sind ja keine PERSÖNLICHEN Daten, oder ?

        ja, du musst dem user mitteilen das du seine daten speicherst und weiterverwendest.

        Bieten die mehr Informationen ?

        das kommt für deine anwendung nicht in frage. jeder http-server besitzt die möglichkeit einen log der zugriffe auf die von ihm zur verfügung gestellten dateien zu erstellen. in dem siehst du dann z.b die ip, datum, dateiname etc.

        tschau

      2. 你好 Kalle,

        du suchst die variable $_SERVER["REMOTE_ADDR"].
        Eigentlich nicht, habe ich eben getestet. Zwei Rechner im WLAN haben
        prompt dieselbe REMOTE_ADDR. [...]

        Das kann dir auch so passieren. Es gibt Provider, die mit transparenten
        Proxies arbeiten und so scheint es dann so, als haben tausende Leute die
        gleiche IP. Ne, die IP ist denkbar unguenstig.

        再见,
         CK

        --
        Der Verstand steht ueber allem. Was durch die Vorstellungskraft nicht geschaffen werden kann, existiert nicht.
        http://wwwtech.de/
        1. hi,

          Das kann dir auch so passieren. Es gibt Provider, die mit transparenten
          Proxies arbeiten und so scheint es dann so, als haben tausende Leute die
          gleiche IP. Ne, die IP ist denkbar unguenstig.

          wobei proxies, die nicht als anonyme gedacht sind, oft noch so freundlich sind, X-Forwarded-For mitzusenden.
          aber natürlich auch kein wert, auf den man sich _verlassen_ sollte.

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        2. Moin,

          Das kann dir auch so passieren. Es gibt Provider, die mit transparenten
          Proxies arbeiten und so scheint es dann so, als haben tausende Leute die
          gleiche IP. Ne, die IP ist denkbar unguenstig.

          Ähm, ja. Und besonders lustig ist es dann wenn der Provider gleich noch eine ganze Batterie von Proxies für's Load Balancing benutzt (das dürfte jeder tun der so vorgeht, weil sonst die Last auf einem einzigen Rechner 'etwas' hoch wird). Dann haben nicht nur tausende Leute die gleiche IP, dann hat auch jeder Leut mehrere IPs und mehrere direkt aufeinanderfolge Requests von dem selben User kommen plötzlich von verschiedenen Adressen.

          Womit wir wieder bei der zugrundeliegenden Weisheit wären: Die IP-Adresse taugt nicht zur Identifizierung (oder auch nur Zählung) von Usern. Bzw. schlimmer noch: Man kann User nicht wirklich gut zählen, wenn man nicht auf Sessions o.ä. zurückgreifen möchte.

          &#20877;&#35265;,

          Gesundheit!

          --
          Henryk Plötz
          Grüße aus Berlin
          ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
          ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
      3. moin,

        peace

        Eigentlich nicht, habe ich eben getestet. Zwei Rechner im WLAN haben prompt dieselbe REMOTE_ADDR. Gibt es eine EINdeutige Identifikation?

        Nein die gibt es nicht. Wenn du das vor die liegende problem lösen willst wirst du wohl auf sessions oder cookies zurückgreifen müssen. Am besten in kombination mit einem Login. (dabei sperrst du eine kleine minderheit im www aus, denn das system macht nur sinn wenn der client das auch unterstützt.)

        Mfg entropie

        --
        Whenever people agree with me I always feel I must be wrong.
          -- Oscar Wilde
        1. Das war natürlich irgendwie das falsche quote...

  3. Mit echo phpinfo(); sehe ich die Variable REMOTE_ADDR.

    Mit $_SERVER['REMOTE_ADDR']; erhälst du die IP-Adresse des User-Computer.
    Mit getenv("REMOTE_ADDR"); hingegen erhälst du die IP-Adresse des Servers

    Hoffe ich konnte weiterhelfen

    Markus

    1. hi,

      Mit $_SERVER['REMOTE_ADDR']; erhälst du die IP-Adresse des User-Computer.
      Mit getenv("REMOTE_ADDR"); hingegen erhälst du die IP-Adresse des Servers

      nein.

      (wäre doch auch unlogisch, wenn im zweiten fall der wert zwar immer noch REMOTE_ADDR heißt, aber die lokale liefert, oder?)

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."