![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 2 Dołączył: 25.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
stworzyłem systemik logowania, teraz chce dodać kolejne zabezpieczenie jakim jest ilość prób logowania. Wydaje mi się, że najlepszym wyjściem jest stworzenie nowej tabeli, gdzie będzie zapis ost. logowanie,id,ip,user agent itp i sprawdzać stąd ostatnie logowania. potem można zrobić zakładkę 'historia logowań'. Potem np. wpisy starcze niż 30dni kasować. Gdy ilość wpisów(gdzie np. kolumna status = 1 - czyli błędne logowania) będzie np. >= 5 i czas nie większy niż np. 1h wtedy blokuje konto na 20min. Niestety każdy będzie mógł zablokować innej osobie konto, ale na to chyba nie da rady nic poradzić? Jak myślicie? Jak takie coś najlepiej rozwiązac |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Wymuszenia na ilość znaków czy rodzaj znaków w haśle są wyjątkowo irytujące - nie Twój, jako administratora interes jakie jest moje hasło. Lepiej podawaj na bieżąco podczas jego wpisywania jego "siłę", którą to już możesz sobie w dowolny sposób oszacować. Ale jak będę chciał założyć jakieś śmieciowe konto z hasłem "qwerty" to daj mi je założyć.
2. Jak już wspomniano: nie blokuj konta, a wymuszaj wpisanie jakiejś CAPTCHA-y - to znacznie wygodniejsze rozwiązanie dla użytkowników. 3. Składować najprawdopodobniej wystarczy podstawowe dane: datę i czas, IP, id użytkownika (jeżeli w ogóle istnieje) - o przechowywaniu adresu IP możesz poczytać tutaj: http://forum.php.pl/index.php?showtopic=188630&hl= 4. Nigdy nie wyświetlaj hasła użytkownika (dotyczy to również pola typu password), a już szczególnie na stronach niezabezpieczonych SSL-em. Jak już to dodaj opcję "[x] pokaż hasło", które przy pomocy JS zamieni pole typu password na text po stronie klienta. 5. Informacje o nieudanych logowaniach musisz przechowywać w bazie danych - może to być tabela przechowywana bezpośrednio w pamięci, w przypadku MySQL jest to typ HEAP / MEMORY. Sesje można bez problemu zrestartować dla każdego żądania. Ba! Trzeba zadać sobie nieco trudu by ją w ogóle podtrzymać, dlatego też większość takich robotów tego nawet nie próbuje robić. 6. Sam nagłówek Location nie gwarantuje przekierowania, dlatego też po jego wystąpieniu powinieneś zawsze wyświetlić chociażby najprostszy dokument HTML w stylu: Oraz zakończyć działanie skryptu - exit. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 03:12 |