![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 2 Dołączył: 25.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Posiadam skrypt logowania który zapisuje także nieudane logowania po 5 błędnych próbach blokuje IP oraz dodaje ciasteczko które też blokuje na pewien czas.
Ale Ip można łatwo zmienić a ciasteczko usunąć. Teraz moje pytanie, jakie dane pobierać a następnie porównywać aby osoba próbująca się włamać miała jak najtrudniejsze zadanie dostępu do logowania. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
W sumie jedyne pewne dane które masz w takiej sytuacji to IP. Możesz dodać po wielu próbach logowania z tego samego IP captche co utrudni atak siłowy. Dodatkowo możesz użyć funkcji sleep(1) która opóźni odpowiedź serwera co zmniejszy szybkość odpytywania haseł.
dodatkowo sesje można zabezpieczyć przed session fixation poprzez regenerację ID sesji przynajmniej przed logowaniem funkcja session_regenerate_id() używanie SSL sprawdzanie czy IP nie zmieniło się w trakcie trwania sesji tj. w sesji zapisujesz numer IP i sprawdzasz czy się nie zmieniło id sesji przechowywać w cookies a nie URL (obecnie w większości to ustawienie domyślne) zabezpieczyć się przed CSRF przy wylogowywaniu niszczenie sesji, funkcja sesion_destroy ustawić krótki czas trwania sesji zabezpieczyć stronę przed XSS (przez js można odczytać cookie z id sesji) do powyższego cookie z sesją powinno hasła zapisywać jako hashe z unikalnym saltem dla każdego rekordu np. za pomocą phpass pliki cookies z sesją powinny być typu http_only dostępne w funkcji session_set_cookie_params -------------------- Good luck and happy PHP'ing
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 2 Dołączył: 25.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za rady
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 5 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kolega wyżej nie wspomniał, to ja dopowiem jeszcze: uważaj też na SQL injection, wszędzie, gdzie odpytujesz bazę danych na podstawie zmiennej od usera sprawdź, czy wszystko jest pod kontrolą, czy może istnieje szansa na wrzucenie czegoś niepożądanego - na necie jest mnóstwo informacji, co mogą Ci zrobić i jak tego uniknąć.
Czego byś nie pisał, zakładaj, że user zawsze ma złe zamiary ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
jeszcze odnośnie bezpieczeństwa to w sumie podsumowanie jak być bezpiecznym znajdziesz na stronie: http://www.zend.com/services/certification...-certification/ po prawej stronie Free PHP 5.3 Study Guide (trzeba się zalogować) jest tam dział security i najpoważniejsze rzeczy są tam opisane.
-------------------- Good luck and happy PHP'ing
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:03 |