Когда-то нашел такой простой и удобный код для защиты определенной php страницы. Делюсь.
Выглядит весь код целиком так:
<?php
$username = "admin";
$password = "pa$$w0rd";
$nonsense = "f07854h08g274th207gf2h0584ghf63h264yh245h5y";
if (isset($_COOKIE['PrivatePageLogin'])) {
if ($_COOKIE['PrivatePageLogin'] == md5($password.$nonsense)) {
?>
//// ЗДЕСЬ ТО, ЧТО НУЖНО ЗАЩИТИТЬ ПАРОЛЕМ ////
<?php
exit;
} else {
echo "Bad Cookie.";
exit;
}
}
if (isset($_GET['p']) && $_GET['p'] == "login") {
if ($_POST['user'] != $username) {
echo "Sorry, that username does not match.";
exit;
} else if ($_POST['keypass'] != $password) {
echo "Sorry, that password does not match.";
exit;
} else if ($_POST['user'] == $username && $_POST['keypass'] == $password) {
setcookie('PrivatePageLogin', md5($_POST['keypass'].$nonsense));
header("Location: $_SERVER[PHP_SELF]");
} else {
echo "Sorry, you could not be logged in at this time.";
}
}
?>
<div align="center">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?p=login" method="post">
<label><input type="text" name="user" id="user" /> Name</label><br />
<label><input type="password" name="keypass" id="keypass" /> Password</label><br />
<input type="submit" id="submit" value="Login" />
</form>
</div>
Вот так. Просто вместо комментария “ЗДЕСЬ ТО, ЧТО НУЖНО ЗАЩИТИТЬ ПАРОЛЕМ” вставляем свой код, заменяем случайный набор символов в переменной $nonsense на свой, заходим на страничку и видим поля для ввода логина и пароля. Вводим то, что мы указали в начале кода и попадаем на защищаемую страничку. С помощью куки наша сессия сохраняется в браузере 😉
