Woher kam der Aufruf?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Woher kam der Aufruf?

    Hallo zusammen,

    derzeit arbeite ich wieder mal an ein paar Scripten und dachte mir "Hey warum IP&Time Log nehmen, wenn ich auch noch das Script dazu wissen müsste"

    Ab da an begannen die Fehler. Damit ihr wisst was los ist schreib ich mal den genauen Stand auf.

    Ich habe ein Script was dynamisch ein Bild ausgibt und gleichzeitig zählt wie oft es aufgerufen wurde. Jetzt bringt das ja nichts, wenn jeder F5 drückt. Daher dachte ich mir ich logge die IP, Zeit und woher der Aufruf gekommen ist.

    Da aber das ganze mit <img src="img.php"> eingebunden ist, hat auch das $HTTP_REFERRER keine Wirkung, daher hab ich es noch mit einigen anderen Umgebungsvariabelen ausprobiert wie $REQUEST_URI etc.

    Damit ich vielleicht ein wenig weiter kommen könnte, wollte ich die Ausgabe von phpinfo(); in eine Datei schreiben, was auch net so recht funktioniert.

    Daher meine Frage an die Community, hat einer nen Tip oder gar nen Lösungsanzahl für so etwas?

    Gruss
    Tobias

  • #2
    Damit $HTTP_REFERRER einen Wert ausgibt MUSS die Seite über einen Link aufgerufen worden sein. Des weiteren ist es glaub ich auch von Browser abhängig, ob er diese Daten mitsendet.
    Kaffi
    Errare humanum est

    W32.Schmalle.H@mm

    Kommentar


    • #3
      Nun das mag sein, aber irgendwie muss man doch rausfinden von welcher Seite der User gekommen ist. Sprich wo das Bild eingebunden wurde.

      Oder hat jemand eine andere Idee?

      Gruss
      Tobias

      Kommentar


      • #4
        solange das bild-skript vom user nicht direkt durch eingabe der url aufgerufen wurde sondern über die eingebettete page klappt $HTTP_REFERER eigentlich IMMEr (es sei denn es kommt jemand mit nem sehr hart eingestellten Webwasher oder NIS oder nem anderen clientseitigen Slurp-Skript daher das jeden referrer killt - die leute kannste aber ganz einfach damit "bestrafen", daß du ihnen bei leerem Referrer die Ausgabe des Bildes kurzerhand verweigerst).

        Über $REMOTE_HOST erfährst du die ip der user (vorsicht, proxy-user und aol-user kannst du damit alleine nicht sauber erfassen - besser ist zusätzlich eine abfrage des evtl. vorhandenen proxy-servers und ermittlung der echten ip des users über $HTTP_VIA), über time() oder timestamp() holst du dir die systemzeit des ersten aufrufs.

        ip, uhrzeit und referrer kannst du dann zusammen mit einer session-id (die du gleichzeitig für dich in einer mysql-tabelle zwischenspeicherst) in einen cookie mit ner lebenszeit von beispielsweise einem monat speichern und jeweils beim start deines image-skriptes abfragen - wenn der cookie vorhanden und mit daten gefüllt ist wird eben nicht weiter hochgezählt, ohne den cookie ist entweder mehr als ein monat rum oder der user ist tatsächlich zum ersten mal da.

        gruß carsten
        CAITS MovieBase für Windows - Filme verwalten mit System!

        CAITS PowerCounter - mehr Statistik gibt es nicht!

        Kommentar

        Lädt...
        X