Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Określona ilość niepoprawnych logowań
szczawik
post 30.12.2010, 09:58:22
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 19.08.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
macromatic
post 30.12.2010, 10:33:55
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 20.02.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
ShadowD
post 30.12.2010, 10:58:07
Post #3





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


+cookie z info o banie.

Nie ma metody skutecznej w 100% więc musisz się z tym liczyć.


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
kulczycki
post 30.12.2010, 11:45:32
Post #4





Grupa: Zarejestrowani
Postów: 76
Pomógł: 8
Dołączył: 10.11.2010
Skąd: Polska,Katowice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Wilu88
post 30.12.2010, 13:06:43
Post #5





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
tehaha
post 30.12.2010, 13:53:21
Post #6





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 14:45