这是我的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>";
}
?>
先谢谢你。
答案 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();
}
基本上,您将要包含的用户存储在数组中;用户名作为数组键,用户密码作为数组值。然后检查以确保提供的用户在定义的列表中,然后检查以确保密码正确。
有人说;这不是一个非常强大的登录解决方案,所以请确保你没有用来保护任何敏感的东西。