wiechol
28.08.2006, 16:05:05
Witam
Czasami można spotkać skrypt który po X nieudanych próbach logowania blokuje dostęp do strony logowania na X minut albo na stałe. Jak nietrudno się zorientować służy to polepszeniu bezpieczeństwa, i tu pytanie do Was czy nie macie jakiś informacji, przykładów do takich skryptów.
Ogólna zasada jest jasna albo zapis IP do bazy/pliku albo cookie, jedno ma swoje wady i zalety chciał bym się przekonać co inni stosują.
Pozdrawiam
Fuzja
28.08.2006, 16:23:23
Zrób sobie formularz, typu hidden i po każdej nie udanej próbi zwiększaj jego wartość, przed wyświetleniem formularza logowania zawsze sprawdzaj czy wartość ukrytego formularza jest mniejsza niż 3 jeśli tak- wyświetlaj formularz do logowania, jeśli nie- wyświetlasz tekst, że nie można się zalogować czy co tam chcesz.
Ludvik
28.08.2006, 19:49:22
To nie jest dobry pomysł. Nie trzeba być wprawionym, żeby podstawić jedynkę jako wartość tego pola. Zapisz w bazie datę ostatniego logowania oraz ilość błędnych logowań. Jeżeli minął określony czas od daty ostatniego logowania, to zerujesz ilość błędów. Nie jest to chyba najdokładniejszy sposób, ale za to chyba najmniej skomplikowany i dosyć skuteczny.
planet_x
28.08.2006, 20:33:16
kiedys tez sie nad tym zastanawialem , najlepszy sposob to taki jak powyzej czyli db i zapisywanie stanu blednych logow po poprawnym zerwowanie wartosci. ale blokowanie na stale o niema sensu kiedys myslalem o automatach z metoda brute-force i zeby to blokowan np ip usera ale tez odpada bo wiele osob siedzi na tym samym ip jedyna skuteczna metoda to chyba po kilku nieudanych logach generowac nowe haslo w locie i wysylane na email
Kayne
28.08.2006, 21:27:05
Ja to rozwiązałem przy pomocy session i funkcji time() :-)
Jony
28.08.2006, 22:18:12
Hmm... sesja nie jest najlepszym rozwiązaniem. Główna zasada bezpieczeństwa mówi, aby nie ufać danym z zewnątrz. Cookie można zmodyfikować i wtedy mamy proste ominięcie zabezpieczenia. Największą skuteczność daje właśnie zapis na serwerze informacji o błędnych logowaniach. Dobrze by było także znaleźć jakiś parametr dostępny z poziomu php, który mógłby w miarę jednoznacznie identyfikować komputer.
Ludvik
28.08.2006, 22:19:43
A jak przygotowałeś sesje? Wydaje mi się, że nie powinno być problemu z "ucieczką" od sesji... W końcu to tylko jedno ciastko/jedna zmienna w url.
Kayne
29.08.2006, 10:22:44
Tak, ale ja dałem tylko blokowanie na 120 sekund... ;P
Ciasteczko.
Mi osobiście by się nie chciało szukać ciasteczka i go usuwać tylko po to, aby móc znów wypełnić formularz. Wolę zostawić ten formularz na te 120 sekund i wrocic do czegoś innego a potem znów do tego formularza
Jony
29.08.2006, 10:36:42
Ale może Ci się trafić robot, który będzie specjalnie usuwał ciasteczko. A co jeśli blokada miałby trwać dłużej? Po co robić prowizorkę, skoro od razu można zrobić coś dobrze?
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.