Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usunięcie konta po 3 błędnych probach logowania
Forum PHP.pl > Forum > Przedszkole
mitp
Witam. Tak ot przyszło mi do głowy jak zrobić ( napisać ) mały skrypcik, który zliczał by błędne próby logowania do serwisu. Po przekroczeniu 3 błędnych logowań, skrypt usuwał by użytkownika z systemu, lub przynajmniej blokował by jego konto.

Ktoś wie jak to zrobic?
ActivePlayer
do tabeli z użytkownikami dodajesz pole nieudane_logowania. Przy kazdym nieudanym logowaniu zwiększasz jego wartość o 1. po kazdym poprawnym zalogowaniu ustawiasz na 0.

mam tylko pytanie... jesli ktos zna Twoj login, i specjalnie wpisze 3 razy złe hasło, to spowoduje usunięcie Twojego konta... moze byc problematyczny ten system.
Denver
Tak, zdecydowanie lepiej abyś konto zablokował zamiast od razu usuwać z bazy smile.gif
Dex1987
hehe

login: admin haslo: qwe
login: admin haslo: asd
login: admin: haslo: zxc

Twoje konto zostało usuniete.

i co pozniej?
LBO
Jeszcze lepiej:

login: admin, hasło: qwerty -> zalogowany.

Najsłabszym ogniwem w najróżniejszych systemach jest człowiek. W sumie taki OT, ale nie mogłem się powstrzymać smile.gif
dr_bonzo
No dobra, nastepny post nie wnoszacy nic do tematu zostanie "nagrodzony" warnem (nie piszcie juz ze da sie usunac w ten sposob czyjes konto -- juz to wiemy)
mitp
Ok. wszystko fajnie ... ale tym razem nie chodzi o jakąś byle baze, w tej bazie mają być przechowywane naprawde b. wazne rzeczy, a dostęp do niej będą mieć tylko 3 osoby, ktore nie sa dziecmi i nie w glowie im glupie zarty .... a usuniecie uzytkownika w tym wypadku moze nie jest dobrym pomyslaem,a le zablokowanie jego konta jak najbardziej ...
Wieviór
Tu nie chodzi o to kto będzie miał dostęp. Ale jeżeli ktoś będzie znał twój login i stronę do wpisywania loginu i hasła, to będzie mógł usunąć Ci konto.
LBO
Okay, usuwanie konta przez osoby trzecie już było.

@ActivePlayer opisał sposób z dodatkowym polem nieudane_logowania. Ewentualnie dodaj jeszcze pole konto_zablokowane i zmień je na true, po 3 błędnych próbach.

Jednak blokada taka powinna być niemożliwa dla kont administratorów. Załóżmy, że system ma tylko jednego administratora, albo jedno konto z kompletem praw. Zostanie zablokowane i co wtedy? Trzeba grzebać w bazie, a w dobrym systemie należy tego uniknąć.
mitp
OK wiec chyba nastawie sie tylko na blokowanie konta. Dzieki za odpowiedzi.

pozdrawiam
Denver
@LBO:
Myślę, że pole konto_zablokowane nie jest w tym wypadku konieczne. Wystarczy sprawdzać ilość nieudanych prób logowania z pola nieudane_logowania. Takie rozwiązanie dopuszcza też np. ustawienie ilości nieudanych logowań gdzieś w pliku konfiguracyjnym.
My4tic
Cytat(LBO @ 10.09.2006, 07:21:11 ) *
Jednak blokada taka powinna być niemożliwa dla kont administratorów. Załóżmy, że system ma tylko jednego administratora, albo jedno konto z kompletem praw. Zostanie zablokowane i co wtedy? Trzeba grzebać w bazie, a w dobrym systemie należy tego uniknąć.


...ale wtedy najważniejsze konto nie jest odporne na brute force co też nie jest dobrym rozwiązaniem. Jeśli koniecznie chciałby uniknąć blokady konta administratora to proponowałbym wprowadzenie jakiegoś przedziału czasu po którym nieudane próby liczone są od 0. Np. jeśli wystąpiły trzy nieudane próby wciągu 2 minut - blokada konta bo istnieje prawdopodobieństwo, ze dobija się jakiś skrypt. Jeśli jednak próby wystąpiły w większych odstępach czasu - brak reakcji. Takie rozwiązanie uczyni brute force dość 'mało' wydajnym winksmiley.jpg

...aż sobie policzyłem:

Login: admin (stały)
Pass: od 6 do 7 znaków z przedziału [qazwsxedcrfvtgbyhnujmiklop1234567890! @.?#]
Możliwości: 236.028.364.992
Przy dopuszczalnych dwóch hasłach na dwie minuty da to 236.028.364.992 minut = 3.933.806.083 godz. = 163.908.586,8 dni = 449.064,6 lat

Chyba się nigdzie nie walnąłem w obliczeniach... winksmiley.jpg
gkeb
Ja bym jeszcze dodal ze login do systemu a login widoczny w systemie byly rozne. Nie znajac loginu ciezko zablokowac konto.
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.