![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Pracuję nad stroną, która jest oparta o MySQL. Mam zamiar zrobić logowanie, które będzie oparte o sesje. Logowanie jest najważniejsze więc istotne jest dla mnie jego bezpieczeństwo:
To już gotowy skrypt PHP, który wykonuje logowanie. Co sądzicie o tym logowaniu? Czy jest ono bezpieczne? I jak można go zabezpieczyć bardziej? Z góry dzięki za pomoc. Pozdrawiam, Sebekzosw |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
Ja robię bez md5() i session_register() ale i tak te skrypty są bezpieczne ponieważ sesje to pliki po stronie serwera do których istnieje odwołanie w cookie, a jeśli ktoś przechwyci cookie i będzie miał inny system, przeglądarkę itp. to sesja wygasa.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
A czy można to logowanie zabezpieczyć bardziej? Proszę też o opinie innych...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
Można napisać własną równie bezpieczną implementacje sesji, niedawno było na forum, ale bardziej zabezpieczyć chyba się nie da.
I jeszcze jedno polecał bym ci to przerobić na standard php5 (w obecnym standardzie php6 może mieć problemy):
Ten post edytował akurczyk 28.09.2008, 09:35:57 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat Ja robię bez md5() i session_register() ale i tak te skrypty są bezpieczne ponieważ sesje to pliki po stronie serwera To bardzo zle robisz powiem ci glupie 2 ptrzyklady jakie mi przychodza do glowy: 1.Wystarczy ze ktos znajdzie XSS na twojej stronie 2.Ktos znajdzie Sql inj. i juz ma login i haslo bez kombinowania w jakies teczowe tablice Po 3 session_register() od php5 jak dobrze wiem nie jest potrzebne php5 ma wbudowany automatyczny system ktory dziala na takiej zasadzie a po 4 to w pierwszym kodzie nawet nie filtrujesz dobrze danych w zapytaniu sql Potem z tego co widze to masz funkcje dbcount() ktora hmm.... wydaje mi sie ze dziala za pomoca mysql_num_rows() jesli tak to zle ja osobisciw wole sprawdzac dane za pomoca mysql_fetch_assoc() poniewaz jesli zle filtrujesz dane to wpisujac ' or 1/* mysql_num_rows() moze przepuscic i moze cie zalogowac POtem bezpieczenstwo logowania zalezy tez od tego jak zabezpieczasz podstrony. P.S to tylko moje zdanie moge sie mylic. Ten post edytował marcio 28.09.2008, 09:49:09 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze nie 'pójdzie' Ci to, bo dwa razy hashujesz hasło. Po drugie, zamiast tych wszystkich filtrów, daj: $user_pass = mysql_real_escape_string($_POST['user_pass']); $user_name = mysql_real_escape_string($_POST['user_name']); oprócz tego, do sesji logowania dodaj i sprawdzaj je przy każdej zabezpieczonej stronie. Uniemożliwi to przejęcie przez 'hackera' sesji (o ile nie ma tego samego IP co ofiara ![]() Przepisany kod logowania:
Nawiasem, session_start() wstawia sie zawsze na poczatku pliku, inaczej Ci wywali bledy (przy E_ALL). Pozdrawiam Ten post edytował Axexis 28.09.2008, 16:00:22 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 29.07.2007 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Ja tylko jeszcze dodam, że nie warto robić mysql_real_escape_string(md5(blablabla)). Wystarczy samo md5.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.07.2025 - 00:44 |