php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.03.2007, 03:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard Login, Session und der ganze Rest

Heyho, hab mal wieder ne kleine Verständnisfrage.

Ich sitze gerade an ner neuen Authentifizierungs-Klasse, ein typisches Login Formular mit DB und Session. Ich hadere noch an einem Punkt. Gegen Spam und Bruteforcing möchte ich die Anzahl der Loginversuche auswerten und je nach Anzahl geeignete Maßnahmen starten (Sleep - Account zeitweise inaktiv - Account Sperrung). Angedacht hatte ich dabei die ohnehin schon existente Session zu nutzen (keine Angst, nach erfolgreichem Account gibts ne neue Session) um die Versuche zu zählern, aber ist das sinnvoll? Oder muß ich bei jedem Loginversuch einen Datenbankeintrag machen?
Wäre für ein paar Tipps (auch sonstige in diesem Themenbereich) dankbar.

Gruß --ick
nikosch ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.03.2007, 09:13  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Wenn das Programm welches die Bruteforce angriffe startet keine Session zulässt, dann bringt dir es auch garnichts die Versuche in einer Session zu speichern. Also wenn du sicher gehn willst würd ichs in die DB eintragen.
Flor1an ist offline  
Alt 24.03.2007, 15:33  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

Denke nicht, dass das ein logischer schluss ist. Wenn keine Session zugelassen wird, dann sollte man das bruteforce programm / den user gleich auf eine Fehlerseite leiten. Was bringt einem ein Loginsystem, wenn keine Sessions zugelassen werden?
Eine Datenbank würde ich dafür nicht hernehmen...

Das mit der Account-Sperrung finde ich auch nicht so toll. (kommt auf das system an)
Denn der Übeltäter braucht nur besagte Benutzernamen, die selten geheim sind, um beliebigen Usern immer wieder den zugang durch eine Attacke und der nachfolgenden Sperre des Benutzers zu verwehren.


EDIT: Hier ging es schonmal um das Thema. Vielleicht hilfts ja. http://www.phpfriend.de/forum/ftopic61137.html
pepe24 ist offline  
Alt 24.03.2007, 18:31  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Danke für den Link, ich erinnere mich noch an den Thread. Ich überlege aber vielmehr, ob es effektiv möglich ist, Fehlanmeldungen ohne ständigen Zugriff auf die DB behandeln zu können. Unabhängig der Diskussion dort, werde ich wahrscheinlich wirklich Sleep und die Sperrung für 15-30 Minuten implementieren. Ne andere sinnvolle Möglichkeit sehe ich nicht. Gegen IP Sperrung hab ich was.
nikosch ist offline  
Alt 24.03.2007, 22:01  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von RaZoR
Wenn das Programm welches die Bruteforce angriffe startet keine Session zulässt, dann bringt dir es auch garnichts die Versuche in einer Session zu speichern. Also wenn du sicher gehn willst würd ichs in die DB eintragen.

Ok!
wir schreiben alle Versuche in DB. Und weiter?
Wie werden wir aber diese Versuche zu dem user zuordnen?
ip-adresse von dem User als identifizierung betrachten?
da können wir aber bei proxis direkt mehrere besucher nicht mehr von einander unterscheiden.
betrachten dann eine gebeude mit mehreren pc als einen User?

Welche möglichkeiten haben wir eigentlich um einen user zu identifizieren?
das sind eigentlich zufalswerte die wir von eine seite zur anderer übergeben, und können dann an diesem wert einen user identifizieren.
Eigentlich macht Session gerade das, was ich eben beschrieben habe und nimmt mir einfach die arbeit ab das selbe von hand zu programmieren.

Also ich kann eigentlcih nur session in betracht ziehen um so was zu realisieren.
Wenn der user seine 3 falsche eingaben gemacht hat, muss man versuchen die zeit zwischen den versuchen zu zählen und wenn es mehrere falsche versuche innerhalb von sehr kurzer zeit vorkommen, erst dann hat es ein sinn die ip zu sperren, da wir ein realistische verdacht auf ein automatischer angriff haben.
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 24.03.2007, 22:09  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Dann schaltet man Cookies aus und die Session spielt nicht mehr mit
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 24.03.2007, 22:20  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von KingCrunch
Dann schaltet man Cookies aus und die Session spielt nicht mehr mit
wer sagt, dass session nur über Cookies läuft?
bei einer normaler webanwendung weisst du schon nach dem 2-tem seitenaufruf ob der Keks gesetzt wurde.
wenn nicht, dann übergibst du einfach session_id über GET bzw POST weiter. wenn du kein zugriff auf php.ini hast, dann machst du einfach mit
output_add_rewrite_var(session_name(),session_id() );
weiter, ohne dir weitere gedanken zu machen.

gibt es bessere vorschläge um einen user zu identifizieren?
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 24.03.2007, 22:34  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Das setzt voraus, dass der Bot da mitmacht Es ist nun keine Schwierigkeit, dass du ein bruteForce-Programm schreibst, welches die SID sei es über GET, POST oder COOKIE entfernt und der dann jedes mal eine neue Session bekomt
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 24.03.2007, 22:57  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

ich glaube, dass wir in Moment über verschiedende Sachen sprechen
eine bruteForce-Programm wird versuchen sich einzuloggen, bzw nach dem Zufallsprinzip schon vorhandene session_id zu bekommen. in diesem Fall können wir von mir vorgeschlagene Zeitmessung zwischen Versuchen zu machen oder Anzahl von sessions zu begrenzen.
Aber die frage bleibt weiter offen wie willst du denn anderes einen user identifizieren?
wie willst du der Anzahl von falschen Versuchen ohne rücksicht, ob es in db, datei oder shared memory gespeichert wird, zu einem user zuordnen?

OT:
<<Es ist nun keine Schwierigkeit, dass du ein bruteForce-Programm schreibst>>
hast du schon eine geschrieben?
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 25.03.2007, 03:37  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von Slava
OT:
<<Es ist nun keine Schwierigkeit, dass du ein bruteForce-Programm schreibst>>
hast du schon eine geschrieben?
Nö, aber was steckt da schon groß drin? Eine Wort-Liste und ne Schleife, im Groben wars das
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Problem mit MySQLi Login + Session Raito PHP Tipps 2008 7 29.07.2008 22:49
Login session aufzeichnen Black-Devil PHP Tipps 2008 7 03.03.2008 18:12
Login per Session oder htaccess? FI-DD PHP Tipps 2008 9 31.01.2008 21:19
Nach Login mit Session Username auslesen DDogg PHP Tipps 2006 2 07.07.2006 15:42
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
[Erledigt] Benutzername nach Login noch benötigt- Cookie oder Session? PHP Tipps 2005-2 1 30.10.2005 09:20
login + session PHP Tipps 2005-2 23 30.08.2005 21:29
Session Login LA-Finest PHP Tipps 2005-2 4 05.07.2005 10:46
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
session start nur bei jedem 2. login PHP Tipps 2004-2 9 16.12.2004 13:39
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
login mit session geht ne PHP Tipps 2004-2 4 08.12.2004 15:48
Login / Session / Benutzerdaten SvenLittkowski PHP Tipps 2004 4 06.09.2004 17:08
Session Login funkt nicht, wenn Cookies immer aus sind schifti PHP-Fortgeschrittene 18 06.09.2004 07:48
[Erledigt] Session Login funktioniert nicht PHP-Fortgeschrittene 1 19.07.2004 17:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session zeitlich begrenzen, php session zeitlich begrenzen, rest login, rest session, session zeitlich begrenzen php, php login session, php login versuche begrenzen, restful login, login versuche zählen, php login versuche zählen, restful session, session zeit begrenzen, php rest session, login begrenzen php, php login zählen, http://www.php.de/php-tipps-2007/43769-login-session-und-der-ganze-rest.html, php login versuche, php login begrenzen, php zeitlich begrenzte session, ubuntu zählen login fehlversuch#

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:43 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.