Login Frage

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

  • Login Frage

    Hallo Liebe User?
    wollte mal fragen wie ich das machen kann ,das wen sich ein user 20minuten nicht auf meiner page bewegt das er sich dan neu anmelden mus ??bitte gut erklären anfänger

    gruß No-Time

  • #2
    Wie ist die Userverwaltung bei dir aufgebaut? Geht es über die Server Sessions oder nur über Cookies, oder über etwas Anderes?
    Download ET-Chat v3.x.x

    Kommentar


    • #3
      ich habe noch garnix wollte nur fragen wie ich das machen soll,habe in der DB schon id,username,und pass mus ich dafür noch sessionsid rein machen oder was ? am besten ohne cokis hab kp davon !

      Gruß No-Time

      Kommentar


      • #4
        Original geschrieben von No-Time
        iam besten ohne cokis hab kp davon !
        Früher oder später (tendenziell früher) wirst du dich eh damit beschäftigen müssen. Dann am besten doch gleich, oder?

        Zu deiner Frage:
        Du könntest das beispielsweise so lösen:
        Zwei Parameter anlegen,
        1. last_action in der Session (das ist der Zeitpunkt als Unix Timestamp, an dem der Benutzer sich das letzte Mal auf der Seite "bewegt" hat.
        2. Einen Konfigurationseintrag max_idle_time (gibt an, nach wieviel Sekunden der Inaktivität die Session des Benutzers abläuft.

        Bei richtiger Zusammenarbeit verraten dir diese beiden Parameter, ob eine Sitzung bereits abgelaufen ist. Und das ist genau dann der Fall, wenn die Summe aus last_action und max_idle_time größer ist, als der aktuelle Timestamp (Zeitstempel).

        Grüße
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Bei richtiger Zusammenarbeit verraten dir diese beiden Parameter, ob eine Sitzung bereits abgelaufen ist. Und das ist genau dann der Fall, wenn die Summe aus last_action und max_idle_time größer ist, als der aktuelle Timestamp (Zeitstempel).
          Nop, der Wert ist kleiner, wenn die Sitzung abgelaufen ist!

          Kommentar


          • #6
            Original geschrieben von PHP-Desaster
            Nop, der Wert ist kleiner, wenn die Sitzung abgelaufen ist!
            Natürlich Ich sollte mal wieder schlafen gehen...
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #7
              PHP-Code:
              define('MY_SESSION_LIFETIME'      20*60);  // in Sekunden

              ini_set('session.gc_divisor'      ,1); // 1:1 
              ini_set('session.gc_probability'  ,1); // 1:1 
              ini_set('session.gc_maxlifetime'  ,MY_SESSION_LIFETIME); // mindestlebenzeit der Sessiondaten
              ini_set('session.use_cookies'     ,1); // Nur cookies
              ini_set('session.use_only_cookies',1); // Nur cookies
              ini_set('session.use_trans_sid'   ,0); // Nur cookies
              ini_set('session.cookie_lifetime' ,MY_SESSION_LIFETIME); // Cookie frühzeitig löschen

              session_start();
              session_regenerate_id(); // cookieklau erschweren 
              Hier mit ist garantiert (so gut es PHP eben zuläßt), dass die Session exakt 20 Minuten nach der letzten Aktion ungültig wird.

              Seiteneffekte:
              1. Da der GC-Lauf jedesmal erzwungen wird: Performance verluste.
              2. Schließen des Browsers hat keine Auswirkung mehr auf die Lebenszeit der Session
              3. Diese Einstellungen wirken sich teilweise auch auf andere Sessions aus, welche im selben Ordner liegen
              4. Cookieverweigerer bleiben draussen
              Zuletzt geändert von combie; 27.04.2008, 11:14.
              Wir werden alle sterben

              Kommentar


              • #8
                OffTopic:
                4. Cookieverweigerer bleiben draussen
                Hängst du noch SIDs in die Urls?
                Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                Kommentar


                • #9
                  Hängst du noch SIDs in die Urls?
                  Ich habe das große Glück, dass ich relativ gut geschützte Applikationen entwickeln darf.

                  Und nein! Keine SID in der URL.
                  Weil:
                  1. ist die versehendliche Sessionübernahme damit nahezu ausgeschlossen
                  2. Keine SID im Suchemaschinenergebnissen. Das hat den Vorteil dass diese keinen doppelten bzw. vielfachen Content finden und damit die gefundene Seite nicht herabstufen.

                  Vorschlag:
                  1. Gäste und Sumas surfen grundsätzlich ohne Sessons
                  2. Bei unwichtigen Seiten/Sessiondaten und angemeldeten Usern könnte man TransSID noch durchgehen lassen
                  3. Admins oder andere wichtige Personen, nur per Cookie
                  4. suhosin installieren, u.a. verschlüsselt es die Sessiondaten und die SID
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Und nein! Keine SID in der URL.
                    Wollt schon sagen, ohne Cookie gibts halt keinen Login.
                    4. suhosin installieren, u.a. verschlüsselt es die Sessiondaten
                    Was hab ich von verschlüsselten Daten auf dem Server?
                    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                    Kommentar


                    • #11
                      Aus einem Artikel, von mir, zu dem Thema..
                      Der neugierige Domainnachbar
                      Klar, der Server Nachbar hat auch PHP und kennt ebenfalls Sessions. Für ihn ist es kein Problem sich alle Dateien im temporären Ordner (session_path) anzuschauen. Nunja, kann er sie sehen? Dann kennt er schon mal einen Haufen SessionIds von dir. Wenn er dann auch noch die Datei einsehen kann, oha, evtl. gar schreiben oje oje oje..
                      Das ist ein Konfigurationsproblem und sollte vom Provider behoben werden.
                      Also:
                      Nach der Installation des Patches gibt es keine offensichtliche 1:1 Beziehung zwischen der SID und benennung der Sessiondatei.
                      Bei einer versehendliche/absichtlichen Sessionübernahme besteht eine große Chance, dass dann die Sessiondaten nicht übernommen werden, weil der Verschlüsselungs Key nicht passt.


                      PS:
                      Achja..
                      Wenn man schon so weit geht, sollte man auch auf SSL bzw. HTTPS setzen.
                      Zuletzt geändert von combie; 27.04.2008, 11:53.
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        Nach der Installation des Patches gibt es keine offensichtliche 1:1 Beziehung zwischen der SID und benennung der Sessiondatei. Bei einer versehendliche/absichtlichen Sessionübernahme besteht eine große Chance, dass dann die Sessiondaten nicht übernommen werden, weil der Verschlüsselungs Key nicht passt.
                        Das kann ich ja noch verstehen, wobei man da ja eine eigene Prüfung auf einen Key (IP/Browser/etc) machen kann - ist denk ich ähnlich effektiv.
                        Für ihn ist es kein Problem sich alle Dateien im temporären Ordner (session_path) anzuschauen.
                        Wer auf seinem Server suhosin installiert hat entweder einen eigenen und damit sicher kein Problem oder ist sich der Gefahr insoweit bewusst, dass er sicherlich den session_path nicht fehlkonfiguriert.
                        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                        Kommentar


                        • #13
                          wobei man da ja eine eigene Prüfung auf einen Key (IP/Browser/etc) machen kann
                          Was ist wenn dein Script nicht ausgeführt wird...
                          dann kannst du auch nix prüfen.

                          ist sich der Gefahr insoweit bewusst
                          Dein Wort in Gottes Gehörgang....
                          Wir werden alle sterben

                          Kommentar

                          Lädt...
                          X