代理服务器缓存 导致网站串号
问题描述:
如果使用了代理 A用户登录到网站,显示的是B用户 很崩溃
目前定位到是代理服务器缓存 问题 在不能动代理服务器的前提下,各位有碰到的是这么解决的
跪求各位大神指点!!!
目前处理:
没用伪静态页面,也用了过滤器
1. 这种方法也用了
response.setHeader( "Pragma ", "no-cache ");
response.setHeader( "Cache-Control ", "no-cache ");
response.setDateHeader( "Expires ",0);
2. 也用了
request.setAttribute("date",new Date());
req.setAttribute("random", Math.random());
还是没什么作用
------最佳解决方案--------------------这个比较麻烦,一般需要每个页面增加。
也就是浏览器发起向Action的请求时,该URL就已经需要有随机参数了。
而Action跳JSP这里呢,因为一般都是forward;也即过程完全在后台完成,跟浏览器无关,所以即便你增加了任何参数,对代理服务器也不造成任何影响。
------其他解决方案--------------------方法2,是没啥意义的。
你说的代理服务器,是部署在服务器前的“反向代理服务”? 还是客户机用了某个代理服务器来共享上网?
------其他解决方案--------------------
客户机用了某个代理服务器来上网
------其他解决方案--------------------后台是缓存用户登录状态的
------其他解决方案--------------------
这样的话,应该是代理服务器配置可能也有点问题,无视了HTTP关于不要缓存的建议信息。
如果确实如此又不能修改代理服务器,那么只能是每次页面切换时URL上要带随机数,类似:
?rand=12312395926592369264923947283742
不知道你这个缓存用户登录状态是什么意思,如果你指的是session的话;只要jsessionid没有重复,本身session就绝对不会冲突的。跟你设置request.setAttribute没有任何关系,而且这种设置值,仅存在于档次请求处理过程中,更不会对代理服务器产生任何影响。
------其他解决方案--------------------
都是配置 action 跳转到jsp页面的 怎么在URL上带随机数 过滤器也无法办到
------其他解决方案--------------------
求方法,求方案
------其他解决方案--------------------每个页面增加 只能这样处理了