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.
class UserManager { protected $login; protected $password; protected $mail; public function LogIn($LOGIN, $PASSWORD) { $this->login = $LOGIN; self::log_in(); return $this->login; } else { return false; } } protected function isExist() { $arr = DatabaseManager::selectBySQL("SELECT * FROM users WHERE username = '{$this->login}' AND password = '{$this->password}' LIMIT 1"); return $arr; } protected function log_in() { $_SESSION['login'] = $this->login; $_SESSION['logged'] = true; } public function LogOut() { $_SESSION['login'] = false; $_SESSION['logged'] = false; } }