phpcmsv9 如何实现用户登录
来源:互联网 发布:歌词匹配软件 编辑:程序博客网 时间:2024/06/05 05:36
因为有时候我们需要自己实现用户登录,比如我们用phpcms做一个微信Oauth2.0授权,授权之后直接登录,这过程中不需要用户输入账户和密码。所以我们就要搞清楚,phpcmsv9它是怎么实现用户登录的。换名话说,phpcms的php代码在什么情况下会认定这个用户已经登录了。
首先,我们肯定要去看phpcms它原生的登录程序是怎么写的,然后我们要去看它是怎么判断这个用户已经登录了。
登录程序是怎么写的?
这个程序做了什么呢?
1. 它从system.php这个配置文件里面读出了auth_key这个配置,把它和用户的http_user_agent拼接之后计算出一个md5值,再把这个md5值作为下一步生成令牌的密钥。
2. 把用户的userid和密码的hash值用\t连接作为明文,用上一步得到的密钥进行加密,得到一个令牌。
3. 把这个令牌写入用户的cookie(当然这个令牌真正写入cookie的时候又进行了一次加密, 不过对使用param::get_cookie/param::set_cookie来操作cookie来说,它是透明的。)
4. 将一些常用信息写入cookie(不能起到验证的作用,真正起验证作用的是第二步计算出来的令牌)
写入成功后会得到如下的cookie
他是如何验证用户已经登录的?
这个程序又做了什么呢?
1. 他读取了cookie中写入的令牌。
2. 他用同样的方式计算出了加密的密钥
3. 用这个密钥去解密这个令牌,得到令牌中记录的userid以及密码的hash值。
4. 去数据库中找到这个userid对应的整条记录
5. 比对password
所以如果我们如何做phpcms的登录呢?
以微信为例,
1. 我们可以通过微信的Oauth2.0接口取得用户的openid, 去数据库里面找到对应的用户的信息。
2. 取出其中的userid和password。
3. 计算密钥以及生成令牌
4. 将令牌写入用户cookie
这样我们就可以实现一个Oauth2.0的登录方式。
转载出处: http://www.zeroplace.cn/article.asp?id=917
- phpcmsv9 如何实现用户登录
- PHPCMSV9增加用户登录次数
- 如何实现用户登录
- phpcmsv9后台登录部分
- 如何实现单一用户单一机子登录
- XP如何实现用户自动登录
- YangMVC教程-如何实现用户登录
- PHPCMSV9首页实现滚动
- 如何设计用户登录
- 如何设计用户登录
- 如何在不跳转的情况下实现用户登录
- 如何使用触发器实现IP限制用户登录
- smarty实现用户登录
- 用户登录实现机制
- java实现用户登录
- AJAX实现用户登录
- 用户登录程序实现
- php实现用户登录
- bug测试总结
- poj3083
- django学习 在pyhon shell模式下学习、调试代码
- 【华为 OJ】输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
- 一个人做事情觉得快乐,很多人觉得不务正业。 一个人做事痛苦,很多人觉得在做正经事
- phpcmsv9 如何实现用户登录
- assert
- ios逆向资料,盘古博客等学习资料
- Python 生成密码字典算法(初学Python笔记)
- 稀疏矩阵存储和查找
- (转)rawQuery()方法的使用例子
- 事件的产生和传递
- 网页左侧静态不动的图片广告代码
- 出栈序列判定 网上一些代码虽然能AC但是有bug