浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法

当浏览器禁用Cookies时。基于Cookie的会话跟踪机制就会失效。解决的方法是利用URL重写机制跟踪用户会话。



在使用URL重写机制的时候须要注意。为了保证会话跟踪的正确性,全部的链接重定向语句中的URL都须要调用encodeURL()encodeRedirectURL()方法进行编码。另外,因为附加在URL中的SessionID是动态产生的,对于每个用户都是不同的。所欲对于静态页面的相互跳转,URL重写机制就无能为力了。可是,我们也能够通过将静态页面转换为动态页面来解决问题。

在web开发程序的时候,怎样去推断client是否禁用了Cookie,从而决定是否採用URL重写的机制去跟踪用户的会话。实际上,client时候禁用了Cookie,不须要我们去推断的,Servlet容器会帮我们做这件事情。

我们在开发Web应用程序的时候,仅仅须要对全部的链接和重定向语句中的URL都调用encodeURL()和encodeRedirectURL()方法进行编码就能够了。

        out.println("<form method=post action=loginchk>");
//<span style="white-space:pre">	</span>  这里是链接。所以调用encodeURL()方法
//        out.println("<form method=post action=" + res.encodeURL("loginchk") + ">");


<span style="white-space:pre">	</span>res.sendRedirect("s_login");
//<span style="white-space:pre">	</span>  这里是重定向语句。所以调用encodeRedirectURL()方法
//        res.sendRedirect(res.encodeRedirectURL("s_login"));


假设浏览器禁用了Cookie,无论验证是否正确都不会跳转,仍停留在当前登录界面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值