SESSION存储在服务器端,COOKIE保存在客户端。Session比较安全,
cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。
禁用cookie后,session不能正常使用。
Session的缺点:保存在服务器端,每次读取都从服务器进行读取,对服务器有资源消耗。
Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置文件的session.save_path指定。Session文件是公有的。
IE禁用Cookie后的session处理方案
1)使用a标签: 主动的将sessionid绑定在a标签的后面: 然后用户通过点击a标签,就能实现将sessionid带给服务器: 服务器再通过获取sessionid信息: 打开session文件;Session_id: 可以获取当前session的id信息,或者可以设置当前session的id Session_name:获取session名字
在一个脚本中增加a标签: 将sessionid信息放到连接后面
2)利用a标签进行session操作: 自动使用a标签: 不需要手动的设置a标签里面带sessionid,也不需要在新的脚本中去设置id: 修改配置文件不能只使用cookie来存储sessionid
设置:Session.use_only_cookies=0;
Session.use_trans_sid=1
session入库如何处理
通过修改session的存储机制处理,session_set_save_handler ( callable $open , callable $close ,callable $read , callable $write , callable $destroy , callable $gc )
1) open方法,实现对数据库的链接操作
2) 定义close方法,实现关闭数据库连接
3) 定义read方法,实现对session数据的读取
4) 定义write方法,实现对session数据的写入
5) 定义destroy方法,实现对session数据的删除
6) 定义gc方法,实现删除过期数据