Все для создания и продвижения сайтов

Верстка, программирование, SEO

Доступ к сайту по паролю: простой php-скрипт

С помощью данного скрипта мы защитим страницы нашего сайта паролем. Скрипт довольно простой, а что самое главное очень надежный.

Создадим новый файл php - например, lock.php.

Сначала в нём сделаем подключение к базе данных:

$db = mysql_connect("localhost","root","");
    mysql_select_db("mydb",$db);

Затем вставим следующее:

if (!isset($_SERVER['PHP_AUTH_USER']))

{
        Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        Header ("HTTP/1.0 401 Unauthorized");
        exit();
}

else {
        if (!get_magic_quotes_gpc()) {
                $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
        }

        $query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
        $lst = @mysql_query($query);

        if (!$lst)
        {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
        }

        if (mysql_num_rows($lst) == 0)
        {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
        }

        $pass =  @mysql_fetch_array($lst);
        if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
        {
           Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }
}

На 15 строке находится запрос к базе данных, в данном случае к таблице userlist. Вы можете поменять на любое название, в зависимости от того, как вы назовёте таблицу в БД.

А теперь создайте таблицу userlist (или свое название). В ней нам надо будет создать три поля: id, логин и пароль.

Таблица пользователей с паролями

После этого создайте нового пользователя (в PHPmyadmin вкладка вставить).

Осталось только подключить наш скрипт, для этого используйте обычную функцию include с адресом до файла lock.php.

include('lock.php');

Теперь везде, где вы подключили этот файл, будет запрашиваться пароль, после того, как его введёте, при заходе на другие страницы заново заходить не потребуется. Чтобы сбросить пароль надо перезапустить браузер.

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.