php session 管理
function do_login(){
//获取用户名和密码信息,和数据库中比对
echo 111111111;
dump($_POST);
dump($_SESSION);
echo 222222222;
$username=$_POST['username'];
$password=$_POST['password'];
$code=$_POST['code'];
#$this->display();
if($_SESSION['verify']!==md5($code)){
$this->error('验证码错误');
}
111111111
array (size=3)
'username' => string '3131' (length=4)
'password' => string '313' (length=3)
'code' => string '1936' (length=4)
array (size=3)
'verify' => string '11108a3dbfe4636cb40b84b803b2fff6' (length=32)
'username' => string 'admin' (length=5)
'authority' => string '1' (length=1)
222222222
1936 MD5 加密后的值为:
mysql> select md5(1936) from user limit 1;
+----------------------------------+
| md5(1936) |
+----------------------------------+
| 11108a3dbfe4636cb40b84b803b2fff6 |
+----------------------------------+
1 row in set (0.00 sec)
验证码判断:
if($_SESSION['verify']!==md5($code)){
$this->error('验证码错误');
}
验证码错误:
111111111
array (size=3)
'username' => string '3131' (length=4)
'password' => string '4124124' (length=7)
'code' => string '2059' (length=4)
array (size=3)
'verify' => string 'd3c95acb3f4a091abb1fdc056dc68c1c' (length=32)
'username' => string 'admin' (length=5)
'authority' => string '1' (length=1)
222222222
mysql> select md5(2059) from user limit 1;
+----------------------------------+
| md5(2059) |
+----------------------------------+
| 2eace51d8f796d04991c831a07059758 |
+----------------------------------+
1 row in set (0.00 sec)
111111111
array (size=3)
'username' => string '331342453' (length=9)
'password' => string '535353' (length=6)
'code' => string '434224' (length=6)
array (size=3)
'verify' => string '7cce53cf90577442771720a370c3c723' (length=32)
'username' => string 'admin' (length=5)
'authority' => string '1' (length=1)
222222222
mysql> select md5(434224) from user limit 1;
+----------------------------------+
| md5(434224) |
+----------------------------------+
| 80bf385de86b2e02292a10caceed2c4b |
+----------------------------------+
1 row in set (0.00 sec)
111111111
array (size=3)
'username' => string '3131' (length=4)
'password' => string '13131' (length=5)
'code' => string '9424124' (length=7)
array (size=1)
'verify' => string 'd04eb5de4d99080be674f159197a514a' (length=32)
222222222
之前session 一直有'username' => string 'admin' 和 'authority' => string '1'
因为session一直有效的原因
php session 管理的更多相关文章
- Nhibernate的Session管理
参考:http://www.cnblogs.com/renrenqq/archive/2006/08/04/467688.html 但这个方法还不能解决Session缓存问题,由于创建Session需 ...
- Openfire的启动过程与session管理
说明 本文源码基于Openfire4.0.2. Openfire的启动 Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个 ...
- ABP(现代ASP.NET样板开发框架)系列之7、ABP Session管理
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之7.ABP Session管理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...
- 2016-1-30 Servlet中Session管理(Sesssion追踪)
Session管理(Sesssion追踪)是Web应用程序开发中非常重要的一个主题.这是因为HTTP是无状态的,在默认情况下,Web服务器不知道一个HTTP请求是来自初次用户,还是来自之前已经访问过的 ...
- Redis3.2+Tomcat实现集群的Session管理 -- tomcat-redis-session-manager的编译和开发部署环境搭建
已经有不少文章介绍使用tomcat-redis-session-manager来实现Redis存储Tomcat的Session,实现分布式Session管理.但是现在官方编译的tomcat-redis ...
- tomcat架构分析 (Session管理)
Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...
- Session管理解决方案笔记
大型网站Session管理解决方案: 1. web服务器之间的session复制. 优点:方案成熟 缺点:复制的性能开销大 2. 减少session使用,使用客户端存储cookie ...
- 使用Memcached Session Manager扩展Session管理
>>Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取sessi ...
- Tomcat的Session管理机制
>>Session和Cookie请求的过程 Http连接本身是无状态的,即前一次发起的连接跟后一次没有任何关系,是属于两次独立的连接请求,但是互联网访问基本上都是需要有状态的,即服务器需要 ...
- How Tomcat works — 八、tomcat中的session管理
在使用shiro的session的时候感觉对于tomcat中session的管理还不是特别清楚,而且session管理作为tomcat中比较重要的一部分还是很有必要学习的. 目录 概述 session ...
随机推荐
- XML(三)
使用 XSLT 显示 XML -------------------------------------------------------------------------------- 通 ...
- [产值分析]生产部KPI考核之产值分析
接到新任务:设计统计电子和磁电公司生产部产值分析报表. 眼下状况: 1.电子公司:取最新单位价格*入库数量 2.磁电公司:取最低价格*入库数量(实际取价的时候又没有取到最低价) 假设计算出来的结果和財 ...
- AES SHA-1 SM3 MD5
AES是美国国家标准技术研究所NIST旨在代替DES的21世纪的加密标准. 输入:128bit 的消息分组 输出:128bit 的密文分组 密钥长度及圈数 128 10 192 12 256 14 消 ...
- 跨平台运行ASP.NET Core 1.0(转载)
前言 首先提一下微软更名后的叫法: ASP.NET 5 更名为 ASP.NET Core 1.0 .NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为 ...
- BZOJ 2429: [HAOI2006]聪明的猴子( MST )
水题, 求MST即可. -------------------------------------------------------------------------------- #includ ...
- VMware Workstation 9.0 安装苹果Mac OS X10.9系统
摘自:http://www.wuwenhui.cn/3133.html 一.安装所需要的软件: 1.VMware Workstation 9.0 点击下载 2.unlock-all-v110.zip ...
- 10-UIKit(UIDatePicker、UIPickerView、UIWebView、Storyboard)
目录: 1. UIDatePicker 2. UIPickerView 3. UIPickerView多列关联 4. UIWebView 5. Storyboard(故事板) 回到顶部 1. UIDa ...
- 在Delphi中开发使用多显示器的应用程序(MonitorCount和DefaultMonitor)
Windows可以将多个显示器映射为虚拟桌面,使我们可以利用这一点设计出方便工作的应用程序.例如PowerPoint就充分发挥了双显示器的优势(大多数的笔记本电脑都支持),它可以在一个显示器上播放幻灯 ...
- UIView详解1
一个UIView的实例就是一个视图,表示的是屏幕上的一块矩形区域,负责这块矩形区域的描绘以及和用户的交互. 第一.UIView的可视化属性 1. backgroundColor 背景属性 2. hi ...
- MySQL 修改字段类型或长度
mysql> alter table 表名 modify column 字段名 类型;例如 数据库中address表 city字段是varchar(30) 修改类型可以用(谨慎修改类型,可能会导 ...