Однопользовательская аутентификация с PHP - PullRequest
2 голосов
/ 22 октября 2011

Мне нужно создать очень простую систему аутентификации для одного пользователя. Это для администратора, и мне нужна только одна учетная запись пользователя, чтобы иметь доступ к нему. Я бы предпочел не создавать базу данных «Пользователи». Поскольку существует только один пользователь, он может быть просто паролем (нет необходимости в имени пользователя). Окно предупреждения JavaScript было бы хорошим местом для ввода этой информации.

Я видел это раньше на серверах "обзора" вендоров ... как лучше это реализовать?

Спасибо!

Ответы [ 3 ]

6 голосов
/ 22 октября 2011

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

Например, если у вас был администраторСтраница .php, требующая аутентификации, может начинаться с:

<?php

session_start();

if (empty($_SESSION['authenticated'])) {
    header('Location: authenticate.php');
    exit;
}

/* rest of the script ... */

Затем authenticate.php может быть простым скриптом, который запрашивает пароль.Если пароль правильный (if ($_POST['password'] == "secret")), он просто устанавливает $_SESSION['authenticated'] = true.

3 голосов
/ 22 октября 2011

Самый простой способ - не создавать никаких пользовательских таблиц, учетных данных, сеансов или чего-либо еще, просто защитить паролем каталог для администратора, как Марио предложил использовать .htpasswd

Вы можете использовать этот учебник для лучшего понимания и простой настройки

3 голосов
/ 22 октября 2011

Я использовал эту технику для некоторых администраторов:

  • Не создавайте учетную запись пользователя, вместо этого создайте пользователя базы данных с привилегиями, которые вам необходимы в ваших задачах администратора
  • Войдите в систему как пользователь вашей базы данных и пароль вашей базы данных и сохраните эти данные в переменной сеанса
  • Каждый раз, когда вам нужен доступ к базе данных, используйте эти переменные. Если пользователь не вошел в систему с соответствующими учетными данными, он не сможет ничего сделать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...