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
9.09.2006, 13:09:11
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
9.09.2006, 13:26:40
Tak, zdecydowanie lepiej abyś konto zablokował zamiast od razu usuwać z bazy
Dex1987
9.09.2006, 19:36:36
hehe
login: admin haslo: qwe
login: admin haslo: asd
login: admin: haslo: zxc
Twoje konto zostało usuniete.
i co pozniej?
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ć
dr_bonzo
9.09.2006, 23:07:55
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
10.09.2006, 05:52:09
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
10.09.2006, 08:09:02
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.
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
10.09.2006, 09:34:51
OK wiec chyba nastawie sie tylko na blokowanie konta. Dzieki za odpowiedzi.
pozdrawiam
Denver
10.09.2006, 09:43:33
@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
10.09.2006, 10:02:33
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
...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...
gkeb
10.09.2006, 11:02:19
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.