Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP] Zabezpieczenie logowania
artekp999
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
jaslanin
post
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
Go to the top of the page
+Quote Post
artekp999
post
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

Ostrzeżenie: (0%)
-----


dzięki za rady biggrin.gif napewno kilka z nich wcielę w życie
Go to the top of the page
+Quote Post
hyhyhy
post
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 smile.gif
Go to the top of the page
+Quote Post
jaslanin
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:03