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一直有效的原因
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 ...
随机推荐
Mysql 事件(定时任务)
mysql 创建任务(事件) 1.检查数据库事件是否开启,如果 event_scheduler 等于 NO表示开启 SELECT @@event_scheduler; SHOW VARIABLES L ...
delete_old_backup.bat
在前面forfiles命令批量删除N天前文件 这篇文章里面讲述了如何在SQL Server 2000中使用forfile删除N天前备份文件,但是现在又有新需求: 需求描述:通过数据库维护计划将备份生成 ...
处理linux下面的mysql乱码问题(下面的utf8换成gb2312也是可以的)
有时候因为编码需要修改mysql的编码,windows下修改有图文界面简单一些,linux大家就可以参考下面的方法 默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值 ...
robotframework自动化系列:新增流程
刚接手项目的时候,要求所有流程在上线之前必须确保正向操作是正确的:这个时候又有新的模块需要测试,所以引入自动化测试是非常有必要的!通过对比,尝试使用RF进行自动化的回归测试. 测试中最常见的操作就是增 ...
GMA Round 1
学弟说我好久没更blog了. 因为自己最近其实没干什么. 所以来搬运一下GMA Round 1 的比赛内容吧,blog访问量.网站流量一举两得. 链接:https://enceladus.cf/con ...
web 分享到facebook
利用meta 使自己的页面变为一种富媒体文件,利用facebook的 open Graph 比如你的html页面想要以图片的形式被分享