Как защитить php страничку с помощью логина и пароля

Защита паролем страницы PHP

Когда-то нашел такой простой и удобный код для защиты определенной 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 на свой, заходим на страничку и видим поля для ввода логина и пароля. Вводим то, что мы указали в начале кода и попадаем на защищаемую страничку. С помощью куки наша сессия сохраняется в браузере 😉


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2023

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!