在我的简单php登录脚本中添加一个额外的用户

时间:2013-04-16 14:29:42

标签: php login passwords

这是我的php登录脚本。我在网上发现它并且工作正常但是......

是否有添加一个用户的解决方案?

<?

if ($_SERVER["PHP_AUTH_USER"] != "user1" || $_SERVER["PHP_AUTH_PW"] != "pass1")
{

    header("WWW-Authenticate: Basic realm=\"Enter username and password to proceed\"");  
    header("HTTP/1.0 401 Unauthorized");

    echo "<body>";
    echo "<div style='position:relative; margin:100px auto auto; width: 400px; height:auto; padding:20px; border:1px #ddd solid; color:#ff9900;'>Authentication failed.";
    echo "</div>";
    echo "</body>";

    die();
}    
else
{
    echo "<div style='position:fixed; left:0px; top:90px; background-color:#000;    color:#ff9900; padding:4px; z-index: 999;'>Logged in.</div>";
}
?>

先谢谢你。

4 个答案:

答案 0 :(得分:4)

(在顶部:)

$users = array('User1' => 'Pass1', 'User2' => 'Pass2', );

if (!isset($users[$_SERVER["PHP_AUTH_USER"]]) || $users[$_SERVER["PHP_AUTH_USER"]] != $_SERVER["PHP_AUTH_PW"])
/* ... */

它将用户数据保存在数组中,然后检查数据是否与条目匹配。

答案 1 :(得分:1)

最好的方法是将用户添加到数组中,以保持整洁!

$users = array(
   'user1' => 'pass1',
   'user2' => 'pass2'
);
$user = $_SERVER["PHP_AUTH_USER"];
$pass = $_SERVER["PHP_AUTH_PW"];

if (array_key_exists($user, $users) && $users[$user] === $pass) {
    // Do your thang
}

答案 2 :(得分:0)

if (($_SERVER["PHP_AUTH_USER"] == "user1" && $_SERVER["PHP_AUTH_PW"] == "pass1") ||      ($_SERVER["PHP_AUTH_USER"] == "user2" && $_SERVER["PHP_AUTH_PW"] == "pass2"))
{
}

答案 3 :(得分:0)

尝试这样的事情:

$users = array('user1' => 'passw1',
               'user2' => 'passw2');

if (!array_key_exists($_SERVER["PHP_AUTH_USER"],$users) || $users[$_SERVER["PHP_AUTH_USER"]] != $_SERVER["PHP_AUTH_PW"])
{

    header("WWW-Authenticate: Basic realm=\"Enter username and password to proceed\"");  
    header("HTTP/1.0 401 Unauthorized");

    echo "<body>";
    echo "<div style='position:relative; margin:100px auto auto; width: 400px; height:auto; padding:20px; border:1px #ddd solid; color:#ff9900;'>Authentication failed.";
    echo "</div>";
    echo "</body>";

    die();
} 

基本上,您将要包含的用户存储在数组中;用户名作为数组键,用户密码作为数组值。然后检查以确保提供的用户在定义的列表中,然后检查以确保密码正确。

有人说;这不是一个非常强大的登录解决方案,所以请确保你没有用来保护任何敏感的东西。