Montgomery C Burns: wie logt man user _richtig_ mit?

Hi!

die frage ist recht einfach, und zwar wie man user richtig mitlogt, mein aktuelles system (selbst erstellt) sieht atm so aus:

jeder der auf die seite kommt, bekommt ein cookie, wenn er die seite wieder besucht wird er anhand des cookies identifiziert, intern werden die daten dann in 3 tabellen verfasst:

unique_hit
visits
requests

in unique_hit werden id (inhalt des cookies), ip, host, user agent und zeit festgehalten

in visits werden dann pro besucher id, visit_nr, referer, ip und zeit festgehalten, immer wenn der user die seite nach ca. 60 minuten wieder aufruft wird ein neuer datensatz angelegt (also ein neuer besuch auf die seite)

in requests sind id, visit_nr, action_nr, action und zeit festgehalten, action nr beginnt bei 0 (da dies normal das aufrufen der startseite ist) und in action trag ich dann die aktuelle handlung ein

da in letzter zeit aber immer öfter robots und leute die keine cookies mögen vorbei schauen entsteht in der tabelle unique_hit sozusagen eine menge "müll"

ich hätte deswegen überlegt auf eines dieser herkömlichen systeme um user zu logen umzusteigen (also jeder der nach 60 min wieder kommt ist ein neuer user)

aber dann weiß ich nicht wie den leuten die seite gefallen hat da ich auch nicht weiß ob sie zurückkommen oder nicht,...

hat vielleicht jemmand eine idee wie ich mein aktuelles system verbessern könnte?

thx!

--
Auch ein Charmed fan? Zitatsammlung auf Deutsch/Englisch
  1. Γειά σου, Montgomery!

    die frage ist recht einfach, und zwar wie man user richtig

    richtig[tm] ;-)

    mitlogt, mein aktuelles system (selbst erstellt) sieht atm so aus:

    jeder der auf die seite kommt, bekommt ein cookie, wenn er die seite wieder besucht wird er anhand des cookies identifiziert, intern werden die daten dann in 3 tabellen verfasst:

    [...]

    in unique_hit werden id (inhalt des cookies), ip, host, user agent und zeit festgehalten

    Zu Cookies solltest du wissen, dass deine Besucher sie _jederzeit_ löschen oder manipulieren können. Und der UserAgent lässt sich auch jederzeit beliebig ändern.

    in visits werden dann pro besucher id, visit_nr, referer, ip und zeit festgehalten, immer wenn der user die seite nach ca. 60 minuten wieder aufruft wird ein neuer datensatz angelegt (also ein neuer besuch auf die seite)

    Auch die IP eines Besuchers kann sich - je nach ISP - zwischen zwei Seitenaufrufen ändern. Und wie hast du dieses Zeitintervall festgelegt?

    da in letzter zeit aber immer öfter robots und leute die keine cookies mögen vorbei schauen entsteht in der tabelle unique_hit sozusagen eine menge "müll"

    Damit musst du leben, wenn du eine derartige Verfolgung des Besuchers baust.

    ich hätte deswegen überlegt auf eines dieser herkömlichen systeme um user zu logen umzusteigen [...] aber dann weiß ich nicht wie den leuten die seite gefallen hat da ich auch nicht weiß ob sie zurückkommen oder nicht,...

    Wenn du wissen willst, ob deine Seite deinen Besuchern gefallen hat, gib ihnen die Möglichkeit, dies dir mitzuteilen, etwa in einem Gästebuch.

    Пока!
    Sven aus Bonn

    --
    Do it yourSELF! ;-)
    Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
    Athen rückt in Sichtweite. ;-)
    1. Ja ich weiß dass die user cookies ändern können, aber wieviele "normale" user machen das schon? *g*

      wenn schon dann löscht man die cookies mal, und das war's

      und user agent log ich nur aus statistischen gründen mit

      ip/host log ich mit damit ich diese "kaputen" einträge von den leuten ohne cookies reparieren kann, das intervall ist wie gesagt 60 min.

      --
      Auch ein Charmed fan? Zitatsammlung auf Deutsch/Englisch
      1. Γειά σου, Montgomery!

        Ja ich weiß dass die user cookies ändern können, aber wieviele "normale" user machen das schon? *g*

        Ok, eher weniger, aber möglich ist es. ;-)

        wenn schon dann löscht man die cookies mal, und das war's

        Öh, meine werden immer automatisch gelöscht, wenn ich den Browser schließe. ;-)

        Пока!
        Sven aus Bonn

        --
        Do it yourSELF! ;-)
        Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
        Athen rückt in Sichtweite. ;-)
      2. Hi Montgomery,

        und user agent log ich nur aus statistischen gründen mit

        Du weißt aber, dass du den User-Agent, die IP, die Uhrzeit, bei HTTP Authentifizierung auch den Usernamen, sowie die Request URI für die aufgerufene Seite auch in deiner access-log findest? Es dürfte u.U. performanter sein, wenn du dir ein Programm schreibst welches die access-log auswertet, anstatt bei jedem Seitenaufruf neue Daten in die DB schreibst.

        MfG, Dennis.

        1. Du weißt aber, dass du den User-Agent, die IP, die Uhrzeit, bei HTTP Authentifizierung auch den Usernamen, sowie die Request URI für die aufgerufene Seite auch in deiner access-log findest? Es dürfte u.U. performanter sein, wenn du dir ein Programm schreibst welches die access-log auswertet, anstatt bei jedem Seitenaufruf neue Daten in die DB schreibst.

          naja, im access log ist aber nichts bezüglich cookies drinnen,...
          und der großteil der user hat cookies ja aktiviert,...

          --
          Auch ein Charmed fan? Zitatsammlung auf Deutsch/Englisch
  2. Hi,

    die frage ist recht einfach, und zwar wie man user richtig mitlogt,

    tja, typischerweise mit den beiden Tabellen 'Sitzungen' und 'Nutzer', die in einer "1:n"-Beziehung stehen.

    mein aktuelles system (selbst erstellt) sieht atm so aus:

    jeder der auf die seite kommt, bekommt ein cookie,

    Cookies bringen Pech.

    wenn er die seite wieder besucht wird er anhand des cookies identifiziert, intern werden die daten dann in 3 tabellen verfasst:

    unique_hit
    visits
    requests

    Aha, bei Dir gibt es keine Nutzer und kein log in? OK, dann komm doch einfach mit nur einer Tabelle 'Sitzungen'.

    in unique_hit werden id (inhalt des cookies), ip, host, user agent und zeit festgehalten

    Hmja.

    in visits werden dann pro besucher id, visit_nr, referer, ip und zeit festgehalten, immer wenn der user die seite nach ca. 60 minuten wieder aufruft wird ein neuer datensatz angelegt (also ein neuer besuch auf die seite)

    "Visits" erschliessen sich aus der Analyse der Tabelle 'Sitzungen'.

    in requests sind id, visit_nr, action_nr, action und zeit festgehalten, action nr beginnt bei 0 (da dies normal das aufrufen der startseite ist) und in action trag ich dann die aktuelle handlung ein

    'requests' ist moeglicherweise als Tabelle 'Sitzungen' gedacht? Die Tabelle 'unique_hit' ist uebrigens auch nicht erforderlich, da sich die "unit hits" per Analyse der Tabelle 'Sitzungen' ergeben.

    da in letzter zeit aber immer öfter robots und leute die keine cookies mögen vorbei schauen entsteht in der tabelle unique_hit sozusagen eine menge "müll"

    ich hätte deswegen überlegt auf eines dieser herkömlichen systeme um user zu logen umzusteigen (also jeder der nach 60 min wieder kommt ist ein neuer user)

    Das Session-Konzept? Uebrigens, wenn Du sowieso die Nutzer nicht loggst, warum kommst Du dann nicht einfach mit dem Webalyzer?

    aber dann weiß ich nicht wie den leuten die seite gefallen hat da ich auch nicht weiß ob sie zurückkommen oder nicht,...

    hat vielleicht jemmand eine idee wie ich mein aktuelles system verbessern könnte?

    Welches System?   ;-)

    Gruss,
    Ludger

    1. in unique_hit werden id (inhalt des cookies), ip, host, user agent und zeit festgehalten

      Hmja.

      was passt den da nicht? :>

      "Visits" erschliessen sich aus der Analyse der Tabelle 'Sitzungen'.
      [...] da sich die "unit hits" per Analyse der Tabelle 'Sitzungen' ergeben.

      ich würde mich über einen entsprechenden, zuverlässigen, algorithmus freuen :D

      Das Session-Konzept?

      meinst du damit etwa das ich an jedem link eine entsprechende session-id anhänge?

      Welches System?   ;-)

      :P

      --
      Auch ein Charmed fan? Zitatsammlung auf Deutsch/Englisch
      1. Hi,

        "Visits" erschliessen sich aus der Analyse der Tabelle 'Sitzungen'.
        [...] da sich die "unit hits" per Analyse der Tabelle 'Sitzungen' ergeben.

        ich würde mich über einen entsprechenden, zuverlässigen, algorithmus freuen :D

        wenn Du die Nutzer nicht einloggen laesst, dann sind diese auch nicht eindeutig zu identifizieren und die Tabelle 'Sitzungen' wird bei jedem neuen Zugriff um einen Datensatz bereichert. Diese Tabelle wuerde dann vielleicht sogar besser den Namen 'Requests' verdienen. Oder Du verzichtest ganz auf die Tabelle und gehst auf die Serverlogs.

        Das Session-Konzept?

        meinst du damit etwa das ich an jedem link eine entsprechende session-id anhänge?

        Ja, auch.

        Gruss,
        Ludger

      2. Hi Montgomery,

        meinst du damit etwa das ich an jedem link eine entsprechende session-id anhänge?

        Das kann PHP automatisch, sofern die Session ID nicht über Cookie übermittelt werden konnte (also der Client Cookies abgeleht hat).

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)
        1. Das kann PHP automatisch, sofern die Session ID nicht über Cookie übermittelt werden konnte (also der Client Cookies abgeleht hat).

          hab ich auch nicht bezweifelt, aber dann "erbt" jeder suchmaschinen benutzer die session die, die suchmaschine beim "durchwühlen" gehabt hat - oder?

          --
          Auch ein Charmed fan? Zitatsammlung auf Deutsch/Englisch
          1. Hi Montgomery,

            hab ich auch nicht bezweifelt, aber dann "erbt" jeder suchmaschinen benutzer die session die, die suchmaschine beim "durchwühlen" gehabt hat - oder?

            Da habe ich mich jetzt noch nicht näher mit auseinader gesetzt, aber das wird wohl so sein - mal abgesehen davon, dass die Session der Suchmaschine zum Zeitpunkt wo der User die Seite aufruft schon längst verfallen ist.

            MfG, Dennis.

            --
            Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
            "Funktioniert nicht" hat exakt den selben Aussagewert wie "husseldiguggeldu" (Cheatah)