文档章节

浏览器禁止cookie的会话策略

菜蚜
 菜蚜
发布于 2016/05/06 10:54
字数 471
阅读 26
收藏 0
我们知道一般情况下网站的会话状态都是由客户端的cookie和服务端的session来协作维持,那么如果客户端的cookie被禁用了,又该怎么处理呢?

刚刚试了下淘宝登录,看来没了cookie确实限制了很多啊。不过,为了发挥我们追求技术的精神,还是列一下一些解决方案吧。

1、使用url重写(前提是浏览器需要禁止cookie),即作为URL路径的附加信息

<a href='<%=response.encodeURL("http://caiya.me/")%>'>index</a>
//
<%response.sendRedirect(response.encodeRedirectURL("
URL重写有什么缺点: 

  对所有的URL使用URL重写,包括超链接,form的action,和重定向的URL。每个引用你的站点的URL,以及那些返回给用户的URL(即使通过间接手段,比如服务器重定向中的Location字段)都要添加额外的信息。 

  这意味着在你的站点上不能有任何静态的HTML页面(至少静态页面中不能有任何链接到站点动态页面的链接)。因此,每个页面都必须使用servlet或JSP动态生成。即使所有的页面都动态生成,如果用户离开了会话并通过书签或链接再次回来,会话的信息都会丢失,因为存储下来的链接含有错误的标识信息-该URL后面的SESSION ID已经过期了。

跳转结果:http://caiya.me/;jsessionid=F19C643CB07B167BE923ABEC5A3AEA78

2、作为查询字符串追加在URL后面

http://caiya.me/?jsessionid=F19C643CB07B167BE923ABEC5A3AEA78

3、表单隐藏字段

就是服务器自动修改表单,增加隐藏字段,以便表单提交时可以传回给服务器。(目前这种应用较少)

说明:jsessionid是tomcat容器默认的会话客户端标识,是可以通过tomcat配置更改的。

© 著作权归作者所有

共有 人打赏支持
上一篇: solr特殊字符处理
下一篇: 缓存的更新策略
菜蚜
粉丝 28
博文 76
码字总数 36325
作品 0
杭州
程序员
私信 提问
IE8浏览器无法保存Cookie的解决方法

使用IE8浏览器经常出现了无法保存Cookie的故障。每次打开网站需要重新登录,登录之后刷新页面也要重新登录,这给用户带来了麻烦。这主要是IE8的默认Cookie设 置有问题,禁止了Cookie。 我们可...

红薯
2010/01/27
4.7K
2
制作安全网站的checklist

原作者charlee、原始链接 http://tech.idv2.com/2008/04/19/secure-website-checklist/ fcicq最近在IPA上看到一篇安全相关的文章,它的最末尾有个checklist,于是催我把它翻译了。前几天比较...

晨曦之光
2012/03/09
98
0
javaweb中ajax跨域访问实例

AJAX跨域解决方法 跨域,简单地理解就是因为浏览器基于安全的同源策略限制不同域名和协议之间的互相访问。 而AJAX的跨域请求,其实浏览器并没有限制不同域的网络请求,只是浏览器会基于请求返...

hello菜bird
2016/01/13
1K
2
Cookie和Session的工作原理及Cookie欺骗(一)

存在两种类型的cookie: Session cookies - these are temporary and are erased when you close your browser at the end of your surfing session. The next time you visit that particul......

EugeneQiu
2013/08/21
0
0
如何实现session共享

session被用于表示一个持续的连接状态,在网站访问中一般指代客户端浏览器的进程从开启到结束的过程。session其实就是网站分析的访问(visits)度量,表示一个访问的过程。 session的常见实现...

iphoenix
2016/08/09
55
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
4
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部