ecshop session产生和原理分析,改进
来源:互联网 发布:淘宝网店怎么收藏 编辑:程序博客网 时间:2024/04/30 07:41
ecshop中的session和默认的session机制是不一样的。ecshop的session是自己定义的。ecshop的session原理他是基于cookie和ip综合处理生成的随即session字符串的。ecshop的session就是当你建立一次会话之后,就会通过cookie和ip综合运算形成随即的session_id。从而存储在session表中。
1:ecshop的session建立。
当我们请求ecshop页面,那么就会建立个session,通过includes/init.php初始化 $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data'));
$sess就是新的session对象。
define('SESS_ID', $sess->get_session_id()),在session的类中。 $GLOBALS['_SESSION'] = array();就是初始化session全局变量,$this->_ip = real_ip();这个就是决定了session和ip有关。所以很多时候,在不同的浏览器下面,会造成session丢失。这个时候我们就该考虑到会因为IP引起ecshop session的异常。
function gen_session_key($session_id) { static $ip = ''; if ($ip == '') { //$ip = substr($this->_ip, 0, strrpos($this->_ip, '.')); } return sprintf('%08x', crc32(!empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] . ROOT_PATH . $ip . $session_id : ROOT_PATH . $ip . $session_id)); }
因为session产生的时候,和IP有关。
2:正是因为ecshop的session是存储在数据库中的。而且每次初始化session,都会写入一次ecshop数据库到session表。
function insert_session() { return $this->db->query('INSERT INTO ' . $this->session_table . " (sesskey, expiry, ip, data) VALUES ('" . $this->session_id . "', '". $this->_time ."', '". $this->_ip ."', 'a:0:{}')"); }
我们看到以上代码,根本就没做任何的处理,就直接将ecshop的session写入到了数据库。通过这个代码,我们就可以想到攻击ecshop最简单的办法,通过一个IP不断的请求服务器,那么该session表很快就能出现异常,如果ecshop session是内存表,和容易就写满了。造成ecshop的瘫痪。
- ecshop session产生和原理分析,改进
- ecshop session原理
- ecshop模板的原理分析
- Session原理和Tomcat实现分析
- Session原理和Tomcat实现分析
- Session原理和Tomcat实现分析
- Session原理和Tomcat实现分析
- Session原理和Tomcat实现分析
- ECSHOP后台权限分配原理分析
- ecshop 权限系统设计原理分析。
- Session原理分析
- Session原理分析
- Session原理分析
- php 的session机制 和ecshop session机制
- php 的session机制 和ecshop session机制
- Shadow Map 原理和改进
- Shadow Map原理和改进
- Session原理和会话跟踪登录实现方式分析
- 身份证扫描插件工具
- CodeForces 518B
- KK版本GMS包chromium相关文件合入注意事项
- Java对象反序列化防护
- 16.7.7:
- ecshop session产生和原理分析,改进
- 简单的二进制
- VC++6.0调试
- python 2.x将raw_input()方式输入的字符串转换为unicode编码
- poj 3320 Jessica's Reading Problem(尺取法,map,set)
- 数组与数组队列
- 如何创建双向双Y轴的柱形图
- 工作中常用redis命令
- 万网域名解析设置方法