如果客户端禁用了 Cookie,那么服务端就不能得到 Session 了.因为通过 Session ID 来确定当前会话对应的服务端 Session,而 Session ID 通过 Cookie 来传递,所以禁用 Cookie 相当于失去了 Session ID,也就得不到 Session 了.
禁用 Cookie 时使用 Session 即传递 Session ID 的实现方式如下:
1 PHP 自动跨页传递
设置 php.ini 配置文件中的 "session.use_trans_sid = 1",或者编译时启用 "--enable-trans-sid" 选项.
2 URL 传递
通过 URL 传递 Session ID 并将其隐藏在表单中.
3 持久存储
采用文件和数据库等方式保存 Session ID.
参考资料
session 与 cookie 的区别是什么?如果客户端禁用了 cookie 功能,将会对 session 有什么影响?
来源: http://www.bubuko.com/infodetail-2477186.html