![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 12.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
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.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
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.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.06.2002 Skąd: mmz Ostrzeżenie: (0%) ![]() ![]() |
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
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 30.04.2006 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Ja to rozwiązałem przy pomocy session i funkcji time() :-)
-------------------- Chcesz szybko i łatwo wygrać 100 zł?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 27.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
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.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
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.
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 30.04.2006 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() -------------------- Chcesz szybko i łatwo wygrać 100 zł?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 27.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
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?
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:24 |