PHP中 session与cookie的区别

  • Post author:
  • Post category:php


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方法,实现删除过期数据



版权声明:本文为qq_29920751原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。