tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
886
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lunaninchen Tutorials.de Gastzugang
    Hallo liebes Forum,

    ich suche bereits seit Tagen das Internet nach der Antwort auf meine Frage ab, leider ohne erfolg.
    Kurz gesagt es geht um eine Überprüfung ob ein Nutzer, der sich Einlogen muss, auch irgendwas auf der Seite macht. Also Text eingibt, eine Auswahl über eine Selectbox tätigt usw.
    Ich habe bisher überall gelesen, bei einer Aktivität der Session diese in eine Tabelle zu speichern.
    Nur wie stelle ich die aktivität fest?
    Darauf habe ich bisher leider noch keine Antwort gefunden.

    Wäre super, wenn mir das irgendwer von Euch erklären könnte.

    LG
    Lunaninchen
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Also wenn ein Besucher der Seite irgendwo Text eingibt oder einen Eintrag aus einer Selectbox auswählt schickt er ja anschließend die Seite auch ab.

    Durch das Abschicken stellst du nun fest das der Besucher was gemacht hat.

    Ich habe das auf einigen Seiten so gemacht das direkt beim laden der Seite geprüft wird ob jemand eingeloggt ist oder nicht, wenn ja wird die aktuelle Uhrzeit mitgeführt.

    Dadurch kann ich prüfen ob der letzte Seitenaufruf/die letzte Aktivität z.B. länger als 5 Minuten zurückliegt. Dann ist die SESSION und somit der Login ungültig!!

    Gruß Thomas
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Hier das von dir genannte "Sessions in Tabelle" / Datenbank speichern:
    http://www.tutorials.de/forum/php-tu...speichern.html

    Damit hat man mehr Kontrolle. Speichert man zudem noch "wo" der Client sich gerade befindet erreicht man dein Vorhaben schon ziemlich gut.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  4. #4
    Lunaninchen Tutorials.de Gastzugang
    Vielen Dank für die raschen Antworten.
    Das scheint genau das zu sein, wonach ich gesucht habe.
     

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wozu brauchst du denn diese Information?
     
    Markus Wulftange

  6. #6
    Lunaninchen Tutorials.de Gastzugang
    @Gumbo: Weil ich nach einer gewissen Zeit der untätigkeit des Nutzer diesen automatisch ausloggen möchte. Dafür muss allerdings jede Aktivität dazu führen, dass die Zeit aktualisiert wird, damit dieser nicht zu früh augeloggt wird.

    Problem bei der Umsetzung:
    Mit Hilfe des Tutorials bin ich inzwischen gut voran gekommen. Allerdings bekomme ich eine Fehlermeldung und hab keine Ahnung was ich da falsch gemacht habe.
    PHP-Code:
    session_set_save_handler(array(&$obj'open'),
                                 array(&
    $obj'close'),
                                 array(&
    $obj'read'),
                                 array(&
    $obj'write'),
                                 array(&
    $obj'destroy'),
                                 array(&
    $obj,'gc'));
     public function 
    destroy()
        {
        }
        public function 
    gc()
        {
        } 
    Bei dem letzten array bekomme ich folgende Fehlermeldung angezeigt: Argument 1 is not a valid callback.
    Ich hab schon versucht den returnwert auf true zu setzen, als lifetime eine zahl zu übergeben und alles leer zu lassen, es hat immer den Fehler hervorgebracht.
    Hat dazu vielleicht noch wer eine Idee?
    LG
     

  7. #7
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Und wozu musst du den Benutzer ausloggen? Reicht nicht der Verfall der Sitzung aus?
     
    Markus Wulftange

  8. #8
    Lunaninchen Tutorials.de Gastzugang
    Ich habe meine Tabelle so aufgebaut, das sich kein zweiter mit den selben Nutzerdaten einloggen kann.
    Daher gibt es einen Onlinestatus in der Tabelle. Wenn also lediglich die Session verfällt, könnte sich der Nutzer nicht wieder einloggen, da der Wert in der Tabelle gleich bliebe.
    Nun habe ich zwar schon mit Javascript und onunload es geschafft das der Nutzer beim Schließen des Fensters ausgeloggt wird, aber nicht jeder Nutzer lässt Javascript zu.
    Ich möchte also erreichen, wenn ein Nutzer sagen wir zum Beispiel 30 Minuten lang keine Aktivität hatte, das dieser dann in der weise ausgeloggt wird, dass er sich sofort wieder einloggen kann. Dafür muss ich allerdings jede Aktivität speichern. Dadurch wäre es mir möglich, auch den Nutzer ein relativ rasches neues einloggen zu ermöglichen die aus Sicherheitsgründen kein Javascript zulassen.

    Ich hoffe jetzt ist verständlich wozu ich die Prüfung auf aktivität einbauen möchte.

    LG
     

  9. #9
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Zitat Zitat von Lunaninchen Beitrag anzeigen
    Dadurch wäre es mir möglich, auch den Nutzer ein relativ rasches neues einloggen zu ermöglichen die aus Sicherheitsgründen kein Javascript zulassen.
    Zitat Zitat von http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung
    <meta http-equiv="refresh" content="5; URL=http://de.selfhtml.org/">
    Statt 5 Sekunden nimmst die Verfallszeit und dazu die URL wo das Login-Formular ist.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

Ähnliche Themen

  1. Javascript aktivität prüfen?
    Von Lenox im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 27.05.08, 13:18
  2. Prüfen, ob session zerstört
    Von Lektor21 im Forum PHP
    Antworten: 15
    Letzter Beitrag: 02.10.07, 16:23
  3. Validität von Session prüfen
    Von peter_mueller im Forum Java
    Antworten: 1
    Letzter Beitrag: 28.06.06, 12:55
  4. Session auf Gültigkeit prüfen
    Von Der nette Mann im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 18.12.05, 12:31
  5. Session ID prüfen
    Von Subwoover im Forum PHP
    Antworten: 5
    Letzter Beitrag: 11.03.02, 16:05

Stichworte