首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一种函数登录检查的多维数组方法

一种函数登录检查的多维数组方法
EN

Stack Overflow用户
提问于 2011-08-25 09:21:17
回答 2查看 396关注 0票数 0

我正在尝试使用多维数组方法进行登录检查。

例如,我有下面的数组:

代码语言:javascript
复制
$multiuser['master'][0] = 'boss'=>'123456';

$multiuser['master'][1] = 'computer' => '636363';

$multiuser['admin'][0] = 'admin1' => '382382';

$multiuser['admin'][1] = 'admin2' => '323243';

如果用户键入的用户名'admin1‘或'boss’存在于此数组中,并且密码与用户名'admin1'/'boss‘匹配,我该如何检查用户?我也想知道它是用户组。如果老板用户名和密码匹配。如何找到它的用户组在master下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-25 09:31:07

这不是处理登录的好方法。

1)数组的结构使得很难找到用户。当然,您可以扫描$multiuser中的每个数组并尝试找到所需的用户名,但当您尝试添加组时,这将变得越来越困难。

您应该使查找用户和从那里查找组变得更容易。例如:

代码语言:javascript
复制
$users = array ('boss' => array(
                          'hash'  => 'password_hash',
                          'group' => 'master'),

                'admin1' => array(
                          'hash'  => 'password_hash',
                          'group' => 'admin'), 
                // and so forth
               );

现在,如果你想找到一个$user,你只需要执行$users[$user],如果它被定义了,它就在那里。然后,您可以从$users[$user]['group']获取组,依此类推。

2)您使用的似乎是明文密码。密码不应该以明文形式存储,但至少要进行散列和加盐。这是一个非常长的主题,但这里是一个起点:

Password Hashing (PHP Security Consortium)

3)无论如何,你应该完全抛弃在PHP中存储登录信息的想法,而使用数据库。将用户信息存储在平面文件(不好)或PHP文件(更糟)中将使以后的管理变得非常困难。

这可能看起来不是什么大事,因为你只有几个用户,但它非常混乱。

票数 2
EN

Stack Overflow用户

发布于 2011-08-25 21:59:12

我在我的许多网站中都使用这种方法:

代码语言:javascript
复制
$accounts[]=array("username" => "guest123","password" => "password123");
$accounts[]=array("username" => "jon","password" => "password123");
$accounts[]=array("username" => "bob123","password" => "password123");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7184131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档