ign="justify">} function setPasswd ($ passwd) {
$ this-> passwd = $ passwd;
}
// перевірка - увійшов користувач на сайт
public function auth () {
$ userData = $ this-> getUserLogin (); ($ userData ['hash'] === $ this-> passwd) {true;
} false;
}
// вхід на сайт (авторизація) function login () {
$ password = md5 (md5 ($ this-> passwd));
$ userData = $ this-> getUserLogin (); (! $ userData) {"
Користувача ". $ This-> login. " неіснує
"; false;
} ($ password === md5 ($ userData ['passwd'])) {
// якщо пароль вірний, встановлюємо хеш у сесії і БД
$ hash = md5 ($ this-> getCodeString ());
$ _SESSION ["hash"] = $ hash;
$ _SESSION ["login"] = $ userData ['login'];
$ _SESSION ["role"] = $ userData ['role'];
$ this-> hash-> execute (array ($ hash, $ this-> login));
return true;
} '
Введено невірний пароль
';
return false;
}
// "Вихід" з сайтаfunction logout () {
session_unset (); ("Location: /");
}
// Знаходимо дані користувача в БД, за його логіну
private function getUserLogin () {
$ this-> user-> execute (array ($ this-> login));
$ res = $ this-> user-> fetchAll (PDO :: FETCH_ASSOC); (empty ($ res)) return false;
return $ res [0];
}
// Геренація випадкового чіслаfunction getCodeString ($ length = 10) {
$ chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789";
$ str ='';
$ lenStr = $ length - 1;
while (strlen ($ str) <$ length) {
$ str. = $ chars [mt_rand (0, $ lenStr)];
} $ str;
}
}
?>
ДОДАТОК Б
Вихідний код верстки, що забороняє копіювання та виділення тексту
= "return false" - заборона виділення тексту = "return false" - забороняє виклик контекстного меню правої кнопки миші і відповідної клавіші.
ДОДАТОК В
Вихідний код для обмеження функціонала браузера