Skip to main content

Как защитить страницу паролем

By 12 января 20129 марта, 2016Blog

Итак, как защитить страницу паролем, не затрагивая при этом .htaccess? Можно воспользоваться Basic авторизацией средствами PHP.

Защита паролем

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

Создаём страницу, с произвольным именем, например password.php и вставляем туда следующий код

<?php

$login="Vasya";
$password="Pupkin";
if (!isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW'])) {
header('WWW-Authenticate: Basic realm="Who u?"');
}
if ((!isset($_SERVER['PHP_AUTH_USER'])) || (!isset($_SERVER['PHP_AUTH_PW']))) {
header('WWW-Authenticate: Basic realm="Who u?"');
header('HTTP/1.0 401 Unauthorized');
}
if ($_SERVER['PHP_AUTH_USER']!=$login|| $_SERVER['PHP_AUTH_PW']!=$password) {
header('WWW-Authenticate: Basic realm="Who u?"');
header('HTTP/1.0 401 Unauthorized');
echo "<strong>Ты не пройдешь!</strong>";
exit();
}
if ((!isset($_SERVER['PHP_AUTH_USER'])) || (!isset($_SERVER['PHP_AUTH_PW']))) {
echo "<strong>Введите логин и пароль</strong>";
exit();
}
?>

Где $login и $password — Логин и пароль для авторизации (спасибо Капитан Очевидность).
Теперь, чтобы защитить определённую страницу сайта вставляем код

require_once("password.php");

Зачем нужно защищать отдельную страницу паролем? Ну например, для защиты конкретного скрипта без авторизации, или для дополнительной защиты страницы авторизации администратора. Да мало ли?

Join the discussion 5 комментариев

Leave a Reply to Виктор Cancel Reply