Login nach Drei Fehlversuchen abbrechen

Gesperrt
donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Login nach Drei Fehlversuchen abbrechen

Beitrag 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?
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Login nach Drei Fehlversuchen abbrechen

Beitrag von Halchteranerin »

donner_blitz hat geschrieben:Gibt es möglicherweise schon so ein Modul?
Nicht, dass ich wuesste ...
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag von Darth-Vader »

Die Idee ist nicht schlecht.

Welchen Login meinst du genau, fürs Frontend oder fürs Backend?
donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Beitrag 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.
Darth-Vader
Beiträge: 661
Registriert: So 25. Jan 2004, 19:06
Wohnort: Stuttgart-Bad Cannstatt
Kontaktdaten:

Beitrag 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.... :roll:
donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Beitrag 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.... :roll:
Das wäre klasse - Besten Dank schon mal. Und wenn es nicht klappt, dann hat es eben nicht finktioniert.
mreif
Beiträge: 192
Registriert: Mi 12. Okt 2005, 16:32
Wohnort: Weiterstadt
Kontaktdaten:

Beitrag 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
Version 4.6.15 - ältere Versionen kommen nicht auf die Kiste
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag 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
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag 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
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag 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
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
donner_blitz
Beiträge: 103
Registriert: Mi 28. Sep 2005, 08:50
Kontaktdaten:

Loginname muss blockiert werden

Beitrag 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]
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Loginname muss blockiert werden

Beitrag 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.
RudiRuessel
Beiträge: 16
Registriert: Fr 9. Apr 2004, 19:22
Kontaktdaten:

Beitrag von RudiRuessel »

Hallo!

Gibt es da jetzt eigentlich eine Lösung zu? Würde mich dafür schon interessieren... :wink:

Gruss
RudiR.
** Das Rennschwein mit dem langen Ruessel **
Gesperrt