Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Czy to logowanie jest bezpieczne?
cafepl_com
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

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


Witam,

znalazłem ostatnio taki oto gotowy kod rejestracji/logowania na stronę: http://php.about.com/od/finishedphp1/ss/php_login_code.htm
Czy ten kod jest bezpieczny? Jeśli nie, to bardzo proszę o wyjaśnienie.
Chodzi mi głównie o cookiesy/sesje - czy takie wykorzystanie jest prawidłowe.


Z góry dziękuję.

Ten post edytował cafepl_com 23.01.2010, 19:34:39
Go to the top of the page
+Quote Post
lipiec
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 23.01.2010
Skąd: Gdańsk

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


Kod logowania i rejestracji wydaje się bezpieczny. Jednak zalecam do budowania zapytań do bazy danych bibliotekę PDO.
Czy na pewno potrzebujesz zakładanie ciasteczek po przez funkcje setcookie()? Myślę, że łatwiej będzie Tobie operować z pomocą takich funkcji jak session_start(), session_destroy() i globalna tablica $_SESSION.

Pozdrawiam, ML
Go to the top of the page
+Quote Post
cafepl_com
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

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


Dziękuję za szybką odpowiedź.
Chciałbym mieć możliwość "zapamiętaj mnie" przy logowaniu, a do tego cookie'sy raczej są niezbędne. Chyba, że jest jakiś inny sposób, o którym nie wiem.
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Jakoś dziwnie napisany ten skrypt.

  1. ...
  2. $_POST['pass'] = md5($_POST['pass']);
  3. $_POST['pass'] = addslashes($_POST['pass']);
  4. $_POST['username'] = addslashes($_POST['username']);
  5. }
  6. ...

W kodzie powyżej nie podoba mi się:

1) Najpierw md5 a potem addslashes? Hm. (IMG:style_emoticons/default/smile.gif)
2) Dwukrotne addslashes na $_POST['username], bo parenaście linii wcześniej:
  1. // checks if the username is in use
  2. $_POST['username'] = addslashes($_POST['username']);
  3. }


Po za tym, używanie niepotrzebnych dodatkowych zmiennych np. w tym wypadku usercheck:
  1. $usercheck = $_POST['username'];
  2. $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")


Dalej przeleciałem tylko pobieżnie. Ogólnie pani Angela Bradley się nie popisała i dla mnie wygląda amatorsko, nie polecam.

Ten post edytował redeemer 23.01.2010, 19:52:26
Go to the top of the page
+Quote Post
lipiec
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 23.01.2010
Skąd: Gdańsk

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


A... jeśli potrzebujesz taką funkcjonalność to jak najbardziej. Mały hint. (IMG:style_emoticons/default/smile.gif)

Cytat(redeemer @ 23.01.2010, 19:50:56 ) *
Jakoś dziwnie napisany ten skrypt.

  1. ...
  2. $_POST['pass'] = md5($_POST['pass']);
  3. $_POST['pass'] = addslashes($_POST['pass']);
  4. $_POST['username'] = addslashes($_POST['username']);
  5. }
  6. ...

W kodzie powyżej nie podoba mi się:

1) Najpierw md5 a potem addslashes? Hm. (IMG:style_emoticons/default/smile.gif)
2) Dwukrotne addslashes na $_POST['username], bo parenaście linii wcześniej:
  1. // checks if the username is in use
  2. $_POST['username'] = addslashes($_POST['username']);
  3. }


Po za tym, używanie niepotrzebnych dodatkowych zmiennych np. w tym wypadku usercheck:
  1. $usercheck = $_POST['username'];
  2. $check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")


Dalej przeleciałem tylko pobieżnie. Ogólnie pani Angela Bradley się nie popisała i dla mnie wygląda amatorsko, nie polecam.


Co nie zmienia faktu, że podstawowe zabezpieczenia są. Chyba, że rzeczywiście cafepl__com chce użyć na tym Ctrl+C, Ctrl+V, wtedy nie bardzo, ale wierzę, że po prostu chce mieć tylko pogląd na użyte funkcje.
Go to the top of the page
+Quote Post
cafepl_com
post
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 17.01.2007

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


Bez przesady, nigdy nie kopiuję w całości kodu bez gruntownych oględzin i własnych poprawek (IMG:style_emoticons/default/smile.gif)
Co do hinta, ten kod jest bezpieczny? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lipiec
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 23.01.2010
Skąd: Gdańsk

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


Cytat(cafepl_com @ 23.01.2010, 20:07:09 ) *
Bez przesady, nigdy nie kopiuję w całości kodu bez gruntownych oględzin i własnych poprawek (IMG:style_emoticons/default/smile.gif)
Co do hinta, ten kod jest bezpieczny? (IMG:style_emoticons/default/smile.gif)

NIE, ten kod nie jest bezpieczny, ale masz tam pokazane jak mniej więcej zaimplementować funkcjonalność, którą wymagasz. (IMG:style_emoticons/default/smile.gif) W Internecie jest masa publikacji jak zabezpieczyć skrypty PHP, które wykonują zapytania do bazy, więc nie powinieneś mieć problemów, użyj jeszcze tylko troszkę własnej wyobraźni. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 3.10.2025 - 14:18