我和我的一个朋友正在开发一些网站,我们需要自定义管理面板,两者都可以登录。
$username=array();
$pass=array();
$username[0]='user1';
$username[1]='user2';
$pass[0]='pass1';
$pass[1]='pass2';
if (isset($_POST['password']) && isset($_POST['userName'])) {
if($_POST['password']==$pass[0] && $_POST['userName']==$username[0]
|| $_POST['password']==$pass[1] && $_POST['userName']==$username[1])
{
if (!session_id())
session_start();
$_SESSION['logon'] = true;
$_SESSION['userName'] = $userName;
header( 'Location: admin.php' );
die();
}
}
我敢肯定有一些更好的方法可以记录2个人,这个代码是否安全且管理员登录足够好?我不想在数据库中放入4个变量,所以最好把这些变量放在localhost / server之外的txt文件中并使用include吗?感谢。
答案 0 :(得分:1)
如果您担心安全性,则不应将密码以纯文本形式放在源文件或外部文件中。更好的方法是散列密码并存储在数据库中。
答案 1 :(得分:1)
只需将用户名和密码存储在如下数组中:
$users = array( 'user1' => 'pass1', 'user2' => 'pass2' );
if( array_key_exists( $_POST['userName'], $users ) )
{
if( $users[$_POST['userName']] == $_POST['password'] )
{
// Username and password correct
}
else
{
// Password incorrect
}
}
else
{
// Username incorrect
}
但是我会把这些东西存放在数据库中。