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

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

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

在web开发程序的时候,如何去判断客户端是否禁用了Cookie,从而决定是否采用URL重写的机制去跟踪用户的会话。实际上,客户端时候禁用了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,不管验证是否正确都不会跳转,仍停留在当前登录界面。

浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决办法,布布扣,bubuko.com

时间: 2024-12-17 07:22:21

浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决办法的相关文章

ASP.NET服务器控件在IE10浏览器(非兼容模式)下报脚本错误的可能解决办法

关于IE10出现LinkButton点击无效的情况:        一般高配置的系统如Win7旗舰版SP1系统不会出现这种情况,针对家庭普通版和专业版的用户通过测试都有这种情况,对于开发人员要解决不同系统和IE的兼容问题一时有点摸不着头脑,可能微软发布IE10正式版本不久,兼容问题没有考虑周全,或者微软目的是指引用户向着高版本看齐最终目的推销win8,不管怎样,解决方法才是王道:       网上资料显示这种情况是ASP.NET无法检测IE10,导致_doPostBack未定义JavaScrip

{Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 xxx 八 xxx 一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器了.从双方接通电话那一刻起,会话就开始了,到某一方挂断电话表示会话结束.在通话过程中,你会向10086发出多个请求,那么这多个请

会话跟踪机制:

Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Cookie的有效期Cookie的修改.删除Cookie的域名Cookie的路径Cookie的安全属性JavaScript操作Cookie案例:永久登录Session机制什么是Session实现用户登录Session的生命周期Session的有效期Session的常用方法Session对浏览器的要求URL地址重写Session中禁止使用CookieCo

IE浏览器中Image对象onload失效的解决办法

作为WEB设计者,为了在网页展示上加强用户体验,经常会利用图象载入显示状态方法,这自然需要Image对象的onload事件. 在firefox浏览器下完成开发后,可是在IE浏览器中进行调试总不能被调用.不管是最新版的IE8还是旧版本的IE7和IE6都无效,最初的代码简化后如下: var img = new Image(); img.src = "test.gif"; img.onload = function(){ alert(this.src); //other }; 简单看过以后貌

HTML5入门教程 :Cookie会话跟踪技术~

1. Cookie会话跟踪技术介绍 会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,可以在客户端保存临时数据. Cookie 技术诞生以来,它就成了广大网络用户和 Web 开发人员争论的一个焦点.有一些网络用户,甚至包括一些资深的 Web 专家也对它的产生和推广感到不满,这并不是因为 Cookie 技术的功能太弱或其他技术性能上的原因,而是因为 Cookie 的使用对网络用户的隐私构成了危害

07.会话跟踪技术cookie与session

会话跟踪技术cookie与session 01.会话跟踪:会话路径技术使用Cookie或session完成: 我们知道HTTP协议是无状态协议,也就是说每个请求都是独立的! 无法记录前一次请求的状态.但HTTP协议中可以使用Cookie来完成会话跟踪! 在Web开发中,使用session来完成会话跟踪,session底层依赖Cookie技术 02.Cookie概述 Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对. 客户端会保存Cookie,并会标注出Cookie的来源(哪个服务

HAProxy基于cookie实现客户端会话保持

HAProxy基于cookie实现客户端会话保持 使用ip_hash时,如果有众多用户使用相同的公网地址去访问同一个服务时,由于这些用户所使用的公网IP都为同一个,HAproxy就会把他们调度到同一后端的服务器,由此可能造成后天的单台服务器的压力过大,因此需要其他的方法来进行调度.HAProxy可以实现插入一层cookie,当用户第一次访问会查看是否有cookie,如果没有就在响应报文中插入以程cookie返回给客户端,当用户再次访问就会根据cookie来调度请求.lvs和nginx无法实现 c

基于Cookie跨域的单点登录问题

由于项目中,需要用的单点登录,主要的思路是:系统1:用户名密码-->写入Cookie-->其他系统读取Cookie. 1.在同一个服务器下的Cookie共享 @Component("userLoginAction") @Namespace("/userLogin") @ParentPackage("json-default") public class UserLoginAction extends ActionSupport{ @A

WEB中会话跟踪[转]

今天晚上去华工参加睿智融科的笔试,问到web会话跟踪,一脸懵比,这个词听都没听过,回来后百度下,发现其实会话跟踪的内容我基本都了解的~_~ 转自:http://www.cnblogs.com/gaopeng527/p/5246708.html 一.     什么叫会话跟踪 记录用户一段时间内的逻辑上相关联的不同访问请求个过程叫"会话跟踪".通过用户在每次对服务请求时的唯一标识,可以跟踪会话. 二.     会话跟踪产生的原因 我们都知道Internet通信协议可以分为有状态协议和无状态