php - 面试经典问题:Cookie禁用了,Session还能用吗?
高洛峰
高洛峰 2017-04-11 08:56:55
[PHP讨论组]

面试的时候经常被问到Cookie禁用了,Session还能用吗?不同的公司给出的答案也有点不同,到底Cookie禁用了,Session还能用吗?很是郁闷

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(10)
大家讲道理

最简单的回答,
客户端禁用cookie采用url重写的方式 ,
也就是上面说的将sessionid写在url上,
这种问题,
最简单的方式 ,
就是自己在本机上禁用cookie试一下就知道了嘛

黄舟

因为session的数据内容是存储在服务端,单需要一个sessionid通过cookie来写入到客户端,然后服务端才能识别。

如果客户端禁用了cookie,正常情况下session是不能用的。

于是就有人研究怎么突破客户端禁用cookie的限制。

以前看过一篇文章说可以用程序生成一张1像素的图片并指定Etag,然后通过Etag作为识别码在服务端存取数据。

PHPz

cookie里面存储着sessid吧。 没有这个 服务端怎么获取对应session呢。

阿神

Cookie是Session的一种实现机制,Session还有别的实现机制。同样推荐上面@eote发的链接,简短明了

阿神

这两个有啥子关系?一个是本地cookie 一个是服务器里的cookie(session差不多就这个意思)

天蓬老师

這不一定是一個題目, 你可以先問清楚他要的是php session_* 還是一般意義上的session

高洛峰

通常情况下是不能的,由于sessionid存在了cookie中,但是可能模拟存储

天蓬老师

这是可以的,URL附加session_id是最常用的方式,当然你也可以利用客户端的其它存储机制,例如HTML5的local_storage, session_storage等等。

巴扎黑

session与cookie没有什么关系,只不过使用cookie只是最常用的一种会话机制罢了

PHPz

深入浅出Nodejs的第184页对这两个概念做了很详细的解释。你可以去参考一下。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号