使用PHP进行单用户身份验证

时间:2011-10-22 06:50:31

标签: php session authentication

我需要构建一个非常简单的单用户身份验证系统。这是一个管理员后端,我只需要一个用户帐户就可以访问它。我宁愿不必创建“用户”数据库。由于只有一个用户,它甚至可能只是一个密码 (不需要用户名)。一个javascript警报窗口将是一个输入此信息的好地方。

我之前在供应商“评论”服务器上看过它......如何最好地实现它?

谢谢!

3 个答案:

答案 0 :(得分:6)

对于需要身份验证的每个页面,您可以使用该会话来查看用户是否经过身份验证,如果没有,则将其重定向到身份验证页面。

例如,如果您有一个需要身份验证的admin.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

答案 1 :(得分:3)

我一直在将这种技术用于某些管理员的工作:

  • 不要创建任何用户帐户,而是使用管理任务中所需的权限创建数据库用户
  • 以数据库用户身份登录系统并使用数据库密码将这些数据存储在会话变量中
  • 每次需要访问数据库时都使用这些变量。如果用户未使用适当的凭据登录,则无法执行任何操作。

答案 2 :(得分:3)

最简单的方法是不创建任何用户表或凭据或会话或任何东西,只需密码保护admin的目录,如马里奥建议使用.htpasswd

您可以使用此tutorial来更好地理解和轻松设置