欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

禁止了浏览器 cookie,session 还可以用吗?

程序员文章站 2022-06-17 12:41:50
...
浏览器禁止了 cookie, session 还可以用吗?

回复内容:

Session是用户会话,那么要实现用户会话,服务器端应该有个储存会话信息的程序存在。
Session的服务端服务实现由很多种,常见有磁盘文件保存(PHP默认方式,会阻塞)、MySQL(Discuz! 的自己的实现方式)、Memcached(性能较高的一种实现)、Redis。
大致原理就是储存一个独一无二的用户令牌(这里暂且称为SessionID吧)和令牌对应的用户数据,例如这样:
SessionID    |    UserID
1A6B78E7     |    195
B6SE3C66     |    0    (默认,未登陆状态)
E135C338     |    131 (用户将账号密码验证码和SessionID发回服务器后,将UserID改为用户主键值)
session 是什么?
服务器生成的一个 shit 值,甩给客户端,客户端拿着当金牌令箭,只要客户端有办法把这个金牌令箭告知服务器就好了。

在这样的情况下,你怎么传递这个金牌令箭,就看你的个人喜好了。
在这样的认知下,你应该知道,怎样使用 session 技术仅看你客户端和服务器沟通的方式,什么 get post shit 随你喜好了

所以说,学东西要多想想为什么、这样做的原因是什么?好处是什么?不这么做会怎样?有没有更好的设计方案?
特别是搞 web 的,不能连我这个没搞过 web 的人都不如。 可以,在每条url中都加上session字段,这种做法现在在很多老式WAP网站上依然能够见到,因为当时的具有WAP浏览器的手机因为内存小的可怜无法存储cookie。还有一种办法就是每个页面都加一个hidden隐藏域,value写上session,总之方法很多,灵活变通。 可以 ETag 已经是最要脸的追踪手段了好吗。。。
试试 authentication cookie
我只是补充一下:我年轻的时候做一个中国移动的论坛项目,能直接从WAP网关拿到当前请求的手机号,用来当session key再好不过了。

总结一下:
1 cookie
2 请求的参数中带着(get、post)
3 HTML5的LocalStorage
4 网关 反写sessionId 可以。可以在url中传递sessionID。但是需要你在php.ini里面开启一个选项,就是允许在url中存在sessionID。 这是我今天学Servlet写的笔记, 刚好看见这个问题给你扒一点出来
刚接触Web开发不到四天
理解可能有偏差, 轻喷
(笔记中说的身份证是SessionID号)

第一: Session是什么?
禁止了浏览器 cookie,session 还可以用吗?

第二: 浏览器禁用了Cookie的话, 怎么办?
禁止了浏览器 cookie,session 还可以用吗? session池是服务端存储用户(广义上的用户,可以是用户也可以是某个客户端非登录用户)的信息的集合,每个session都对应一个用户信息,cookie是客户端用来告知服务端,我是哪一个用户,那么既然cookie承担了这么一个功能,那么cookie的职责一旦被禁用,那么url也可以承担起同样的责任,url后面加
参数,或者http头加信息来回传,但是如果cookie的职责这么容易被替代的话,那他就不叫cookie了,如果说当次请求可以被替代,那么下一次比如你直接打开浏览器请求淘宝网的时候或者直接手输,不是使用cookie的话,其他的办法的话,客户端是不能拿出标志你身份的东西,从而服务端并不知道你是谁。如果说浏览器在请求一个手输的网址的时候,除了自动带上cookie,还会带其他小东西,那么这个小东西能替代cookie,关于这一点开下chrome,观察下network下面的http请求头即可,我并没有发现这样的小东西。就凭这一点cookie还是cookie.禁止了浏览器 cookie,session 还可以用吗?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 禁止了浏览器 cookie,session 还可以用吗?
  • 专题推荐

    相关标签: session cookie