Seite 1 von 1
Login nach Drei Fehlversuchen abbrechen
Verfasst: Mo 13. Feb 2006, 11:33
von donner_blitz
Hallo,
hat jemand eine Ahnung wie beim Login eine Sperre eingebaut werden kann. Nach drei Fehlversuchen soll automatisch eine meldung angezeigt werden, dass es drei Fehlversuche gegeben hat und ein Login deemnach nicht möglich ist. Mann müsste höchstens dann wieder auf Login klicken um es erneut zu versuchen. Gleichzeitig soll der Administrator informiert werden, dass jemend mit drei Fehlversuchen gearbeitet hat.
Gibt es möglicherweise schon so ein Modul?
Re: Login nach Drei Fehlversuchen abbrechen
Verfasst: Mo 13. Feb 2006, 12:18
von Halchteranerin
donner_blitz hat geschrieben:Gibt es möglicherweise schon so ein Modul?
Nicht, dass ich wuesste ...
Verfasst: Mo 13. Feb 2006, 12:44
von Darth-Vader
Die Idee ist nicht schlecht.
Welchen Login meinst du genau, fürs Frontend oder fürs Backend?
Verfasst: Mo 13. Feb 2006, 13:00
von donner_blitz
Darth-Vader hat geschrieben:Die Idee ist nicht schlecht.
Welchen Login meinst du genau, fürs Frontend oder fürs Backend?
Gemeint ist der FRONTEND-Zugang.
Verfasst: Mo 13. Feb 2006, 13:25
von Darth-Vader
hm, da müsste man schauen wie und wo der login für das frontend abgehandelt wird und da nen counter und ne abfrage zwischenklemen.... vllt finde ich am WE Zeit mir das mal anzuschauen....

Verfasst: Mo 13. Feb 2006, 13:36
von donner_blitz
Darth-Vader hat geschrieben:hm, da müsste man schauen wie und wo der login für das frontend abgehandelt wird und da nen counter und ne abfrage zwischenklemen.... vllt finde ich am WE Zeit mir das mal anzuschauen....

Das wäre klasse - Besten Dank schon mal. Und wenn es nicht klappt, dann hat es eben nicht finktioniert.
Verfasst: Fr 17. Feb 2006, 08:57
von mreif
Hallo,
wenn an einer solche Funktion gearbeitet wird, finde ich das Backend aber ebenso wichtig; wenn nicht sogar noch wichtiger.
Auf jeden Fall finde ich den Vorschlag generell sehr gut und freue mich auf die Rückmeldung der Coder.
Gruß
Michael
Verfasst: Fr 17. Feb 2006, 23:25
von Beleuchtfix
Darüber habe ich auch schon einmal nachgedacht. Man müsste irgendwie die IP mit berücksichtigen, es können sich ja unetrschiedliche Leute zu gleichen Zeiten anmelden, und eventuel auch beide Fehler machen. Zu dem Zeitpunkt gibt es doch wahrscheinlich noch keine Session.
Also muss jeder Loginversuch mit IP in der Datenbank gespeichert werden, und dann vielleicht diese IP für 10 Minuten gesperrt werden. Bei Erfolgreichem Login natürlich gleich alles wieder löschen.
Gruß
Florian
Verfasst: So 19. Feb 2006, 15:44
von HerrB
Ich denke, das sind zwei verschiedene Schuhe.
Das eine ist das Verhindern von mehrfachen, unspezifizierten Login-Versuchen. Hier sollte ein Logging der IP mit einer automatischen 10-Minuten-Sperre ausreichen. Hier würde ich z.B. 6 Versuche zulassen (drei Versuche für unterschiedliche Accounts).
Scheitert hingegen mehrfach die Anmeldung zu einem Account, ist die IP IMHO irrelevant, da hier der Account gelogged werden muss. Handelt es sich um einen normalen Account, könnte man ihn sperren (wobei eine Sperre in Contenido z.Z. nur für die Frontend-Nutzer-Accounts vorgesehen ist).
Bei sysadmin- und admin-Accounts würde ich auch hier eine automatische 10-Minuten-Sperre vorsehen (da eine Deaktivierung wenig zielführend ist) - eine E-Mail an die sysadmin-E-Mail-Accounts wäre aber aber eine schicke Idee.
Die Kombination aus beidem (IP-Logging und Account-Logging) sollte ausreichend sein - persönlich sehe ich das Account-Logging für wichtiger.
Leider ist das Ganze recht aufwendig, da man dafür in der conlib herumstochern muss...
Gruß
HerrB
Verfasst: So 19. Feb 2006, 16:04
von Beleuchtfix
Kann man das nicht schon direkt in der Login.php abfangen. Dort könnte nach meiner Meinung ein include_login_fail.php integriert werden, an die die Logindaten weitergereicht werden, und in der man sich auch um das Sperren kümmert. Also eigentlich noch, bevor die Abfrage stattfindet und nach Rückkehr noch einmal.
Gruß Florian
Verfasst: So 19. Feb 2006, 18:02
von HerrB
Um die Frage zu beantworten, musst Du Dich zunächst mit dem Anmeldeverfahren auseinandersetzen.
Es gibt keine login.php (oder was meinst Du?), nur eine main.loginform.php, die aber "nur" für die Anzeige des Login-Formulars (Backend) verantwortlich ist.
Sowohl Backend als auch Frontend nutzen die conlib-Funktionen, um das Anmeldehandling zu regeln. Das Frontend über die front_content.php, das Backend über u.a. über die index.php und main.php.
Hier vermutlich über dieses Konstrukt:
Code: Alles auswählen
page_open(
array('sess' => 'Contenido_Session',
'auth' => 'Contenido_Challenge_Crypt_Auth',
'perm' => 'Contenido_Perm'));
Die conlib-Funktionen bekommen Anmeldenamen und PW und verifizieren den Nutzer - d.h. nur sie wissen, ob die Anmeldung gescheitert ist und ggf. wie der Account lautete (und dort müsste IMHO das Logging und die Prüfung auf eine Sperre eingebaut werden).
Den genauen Ablauf habe ich selbst noch nicht verstanden, es ist IMHO nicht trivial und man muss Hand an etliche Dateien legen.
Gruß
HerrB
Loginname muss blockiert werden
Verfasst: Mo 20. Feb 2006, 08:30
von donner_blitz
Mit einer Sessionid oder ähnlichem ist es nicht getan. Ich denke da eher an eine Möglichkeit, dass der Login-Name für eine bestimmte Zeit blockiert werden sollte.
Wenn der Loginname für etwa 10 Minuten blockiert wird, dann hätte der falsche User keine Chance innerhalb der nächsten 10 Minuten ins System zu kommen. Desweiteren kann nach drei Fehlversuchen dass Passwort gelöscht werden und dem Administrator (oder auch Systemadministarator)wird eine Meldung geschickt, dass jemand verscuht hat sich mit flaschen Daten einzuloggen. Der kann dann dem User im Administartaionsbereich ein neues Passwort vergeben. Eine andere Mögklichkeit wäre aber auch, dass nach den drei Fehlversuchen der Zugang für den user über mindestens 10 Minuten versperrt bleibt und automatisch ein neues Passwort generiert wird.
Soweit zu den Ideen hierzu.
Dazu müssten dann natürlich zwei neue Felder in der Datenbanktabelle con_frontendusers eingefügt werden.
time
dort muss der timestamp für den letzten Fehlversuch gespeichert werden.
versuche
Hier muss die Anzahl der Fehlversuche gespeichert werden. Bei der Zahl 3 wird automatisch dann gesperrt. Bedeutet dass im Feld active dort eine NULL gesetzt wird. Dieser Zugang wird gesperrt.
Im Feld Passwort wird ein neues Passwort generiert und der User bekommt eine E-MAIL mit dem Hinweis, er möge seinen Zugang erneut aktivieren.
Soviel zunächst mal zu den Ideen. Ich werde versuchen irgendwie das ganze mitzu programmieren.
Wer jetzt schon eine Idee hat wie man das umsetzen kann, der kann die ersten Versuche ja schon mal hier posten.[/b]
Re: Loginname muss blockiert werden
Verfasst: Mo 20. Feb 2006, 08:36
von Dodger77
donner_blitz hat geschrieben:Dazu müssten dann natürlich zwei neue Felder in der Datenbanktabelle con_frontendusers eingefügt werden.
Man könnte das auch durchaus über die Frontenduser-Plugins machen, dann wären noch nicht einmal Änderungen an der DB notwendig, da die Zeit und die Anzahl der Versuche dann in der con_properties gespeichert werden.
Verfasst: Mo 27. Nov 2006, 18:29
von RudiRuessel
Hallo!
Gibt es da jetzt eigentlich eine Lösung zu? Würde mich dafür schon interessieren...
Gruss
RudiR.