我有以下php脚本,其中包含一个用户名和密码:
$Username = 'user1';
$Password = 'pass1';
/******************************************************************************/
if (isset($_POST['submitform'])){
// Clean up the input values
foreach($_POST as $key => $value) {
$_POST[$key] = stripslashes($_POST[$key]);
$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}
$user = isset($_POST['user']) ? $_POST['user'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';
$report = $_POST['typereport'];
if ($pass != $Password || $user != $Username) {
showForm("Wrong Username/Password");
exit();
}
} else {
showForm();
exit();
}
我想让脚本更健壮,这意味着我想拥有其他用户名/密码,以便多个用户可以登录(希望它用于跟踪目的)
那么如何修改脚本以便我可以对$Username
和$Password
使用以下内容:
$Username=array("user1","user2","user3");
$Password=array("pass1","pass2","pass3");
因此,脚本将始终与正确的用户名和密码匹配,并允许我拥有多个用户?
答案 0 :(得分:9)
我会使用数据库。如果你必须硬编码,我会使用一个关联数组:
<?php
$logins = array(
'username1' => 'password1',
'username2' => 'password2',
'username3' => 'password3',
);
$user = isset($_POST['user']) ? strtolower($_POST['user']) : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';
if ( ! isset($logins[$user]) or $logins[$user] != $pass)
{
showForm("Wrong Username/Password");
exit();
}