Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Logowanie użytkownika - ocena klasy.
NetBeans
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 4
Dołączył: 18.01.2012

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


Witajcie.
Napisałem klasę, która ma za zadanie logować użytkownika w systemie. Znajomy powiedział mi, że bardzo łatwo jest przechwycić sesję, której użyłem w klasie. Jednakże nie powiedział mi dlaczego. Proszę o wskazanie mi błędów, oraz propozycję (nie gotowce) jak można je poprawić. Ogólnie chodzi mi o bezpieczeństwo.

  1. class UserManager {
  2.  
  3. protected $login;
  4. protected $password;
  5. protected $mail;
  6.  
  7. public function LogIn($LOGIN, $PASSWORD) {
  8. $this->login = $LOGIN;
  9. $this->password = md5($PASSWORD);
  10.  
  11. if (self::isExist() && count(self::isExist()) > 0) {
  12. self::log_in();
  13. return $this->login;
  14. } else {
  15. return false;
  16.  
  17. }
  18. }
  19.  
  20. protected function isExist() {
  21. $arr = DatabaseManager::selectBySQL("SELECT * FROM users WHERE username = '{$this->login}' AND password = '{$this->password}' LIMIT 1");
  22. return $arr;
  23. }
  24.  
  25. protected function log_in() {
  26. $_SESSION['login'] = $this->login;
  27. $_SESSION['logged'] = true;
  28. }
  29.  
  30. public function LogOut() {
  31. $_SESSION['login'] = false;
  32. $_SESSION['logged'] = false;
  33.  
  34. }
  35.  
  36. }


Ten post edytował NetBeans 18.01.2012, 21:53:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Adi32
post
Post #2





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Czemu raz piszesz log_in() a raz LogOut() ? Najlepiej wybrać jeden styl, ja np. używam "_" do nazw zmiennych i dużej litery każdego słowa poza pierwszym w nazwach funkcji i metod.

Ten post edytował Adi32 18.01.2012, 22:07:38


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


I dlaczego self zamiast this, co do przechwycenia, zwaliduj może login, chyba że to robi ci klasa db, ale nie myślę.


--------------------

Go to the top of the page
+Quote Post
gothye
post
Post #4





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


A jak z filtrowaniem danych ? nic nie ma takiego


--------------------
Nie udzielam pomocy poprzez PW
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 - 14:19