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
macromatic
30.12.2010, 10:33:55
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
i robisz to co powyżej tylko blokujesz dostęp dla danego adresu IP
ShadowD
30.12.2010, 10:58:07
+cookie z info o banie.
Nie ma metody skutecznej w 100% więc musisz się z tym liczyć.
kulczycki
30.12.2010, 11:45:32
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
30.12.2010, 13:06:43
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
30.12.2010, 13:53:21
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.