Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Określona ilość niepoprawnych logowań
Forum PHP.pl > Forum > PHP
szczawik
Witam
W jaki sposób zrobić, aby zablokować dostęp do strony po kilku błędnych logowaniach?

PS Jeżeli zna ktoś jakieś skuteczne metody zabezpieczenia logowania (przy użyciu mysql) byłbym wdzięczny smile.gif
macromatic
tworzysz dwa pola 'niepoprawne_logowanie' (1,2,3), 'status_uzytkownika' (1,0)

i jeżeli uzytkownik niepoprawnie wypelni haslo to zwiekszasz pole 'niepoprawne_logowanie' o 1
jeżeli osiągnie wartość trzy to przestawiasz status_uzytkownika z 1 na 0

jeżeli jest to niezarejestrowany użytkownik dodajesz tymczasowy wiersz np. z jego IP
  1. $ip = $_SERVER['REMOTE_ADDR'];


i robisz to co powyżej tylko blokujesz dostęp dla danego adresu IP
ShadowD
+cookie z info o banie.

Nie ma metody skutecznej w 100% więc musisz się z tym liczyć.
kulczycki
Ja bym to trochę inaczej zrobił.

account:
bad_login int
last_bad_login time

i za każdy razem przy nie udanym logowaniu dodajesz +1 do bad_login. Przy logowaniu sprawdzasz.
Jeśli bad_login = 2 i kolejna próba jest błędna, sprawdzasz czas ostatniego złego zalogowania. Bo wiadomo że złe logowania muszą odbyć się w jakimś wyznaczonym czasie np. 10 sekund. Jeśli masz bad_login =2 a kolejne jest prawidłowe zerujesz bad_login, a last_bad_login zostaje jako informacje kiedy ostatnio było błędne logowanie.

Co do zabezpieczeń. Nie da się w 100% tego zrobić jak napisał ShadowD ale cookie też nie jest dobrą metodą, wtedy wystarczy tylko usunąć cookie i po sprawie. Bardziej bym strzelał w to że klient o danym ip nie może się logować na konta przez określony czas. Czyli jakaś tabela w mysql i po sprawie.
Wilu88
Według mnie najlepszym sposobem jest blokowanie danego kompa po IP. No bo wyobraź sobie sytuacje gdy ktoś puszcza bota w loginami użytkowników strony o ile gdzieś na stronie można je znaleźć i tym samym blokuje dostęp wszystkim użytkownikom. A blokując po IP zawsze jakoś to utrudniamy, chociaż oczywiście to tylko IP.
tehaha
blokowanie całkowite jest trochę bez sensu i nie praktyczne, przecież takie zabezpieczenie robi się przed robotami, a nie przed ludźmi, według mnie najlepiej będzie zbierać do osobnej tabeli: ip oraz timestamp, jeżeli w ciągu ostatnich 24h było więcej niż 3 nie udane logowania, pojawia się dodatkowo recaptcha do przepisania
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.