Я новичок в разработке классов на PHP, однако я все еще довольно озадачен концепцией сессий.
Вопрос 1. Можно ли изменять сеансы с помощью манипуляций клиента? Если нет, могу ли я установить статические сеансы и использовать их без проверки?
Вопрос 2. Как мне управлять своими учетными записями?
Я использую SALT, однако, код генерируется при регистрации и вставляется в БД, где он используется для ссылки на логин. Будем весьма благодарны за любые исправления с объяснениями, а также за любые изменения, которые клиент изменяет.
class user {
private $username = '';
private $password = '';
private $salt = '';
public $prefix = 'rhs_';
function __construct () {
$this->username = '';
$this->password = '';
$this->salt = '';
session_start();
}
public function login ($username, $password) {
$mysql_conn = Database::obtain();
$username = $mysql_conn->escape($username);
$sql = 'SELECT `password`, `salt`, `first_name`, `last_name`, `permission` FROM `accounts` WHERE `username`="'.$username.'"';
$row = $mysql_conn->query_first($sql);
if(!empty($row['password'])) {
$encrypted = md5(md5($mysql_conn->escape($password)).$row['salt']);
if ($encrypted == $row['password']) {
$_SESSION[$this->prefix.'username'] = $username;
$_SESSION[$this->prefix.'password'] = $password;
$_SESSION[$this->prefix.'name'] = $row['first_name'].' '.$row['last_name'];
$_SESSION[$this->prefix.'permission'] = $row['permission'];
header('location: ?page=cpanel');
} else {
return false;
}
} else {
return false;
}
}