我们都知道WEB服务器通过识别客户请求中的session id来判断是否返回新的HttpSession,一般情况下这个session ID是保存在客户端cookie中,准确的说是保存在session cookie中。 也就是说一旦关闭浏览器,此session cookie消失,保存其中的session ID也随之消失。再新建的浏览器再次发起请求时,服务器端找不到对应的session ID就会新建一个HttpSession返回给客户。
现在要求系统防止用户短时间内多次发起同一请求给APP造成业务处理压力,于是在用户登陆后第一次发起此请求时记录当前时间保存到Session中,并且在下次发起相同请求时从Session中去除上次请求时间计算时间差,小于5min时给出提示并驳回请求。但是因为存在上述的问题,聪明(还是狡猾的?)客户利用多次开关浏览器便可以突破这个限制。我现在在想是否能将session ID保存到客户端硬盘的cookie上,即cookie.setMaxAge(N); N>0的方法。但是貌似session ID不能保存到持久化cookie上,不知道各位有没有什么办法?
另外,如果能顺利地将session ID保存到持久化cookie上,会出现另外一个问题。不同用户在同一台pc上登陆系统,却发送相同的session ID给服务器,显然不对。因此,得让存在持久化cookie上的session ID根据系统登陆用户不同而不同,这需要在把cookie放到HTTP HEAD之前,拿到session ID并根据当前登陆用户做处理。不过对cookie的处理是在服务器端执行reqeust.getSession()的时候直接去cookie中的JSESSIONID属性,我怎么
才能让cookie中保存多个JSESSIONID呢
顺便提一下,我们生产环境上4台WEB SERVER,配置了Session共享和session粘性,即对客户来说,就跟只有一台WEB一样。另外,我们有SSO,但是cookie.setMaxAge(-1);于是跨浏览器的话Session又是新的了
case0079 写道
URL REWRITE
URL REWRITE前提是服务器端给返回一个JSESSIONID,但如果客户端给过去的jsessionid每次都不同,如何指望返回来的东东的正确性呢。
同上,棘手的不是server side,而是client side
凤舞凰扬 写道
引用
好像服务器就是根据session id来判断是否是同一个用户的,如果是一有的seesion id,则会将请求分流到之前处理这个请求的节点上。现在的问题是session id在每次IE关掉之后在客户端都没有了,服务器没办法进行识别。
不知道我的理解是否正确
我们常说的session id是服务器判断与之相连接的客户端的会话,实质上,和我们另外一个角度理解的用户是有区别的。你说的没错,如果已经存在session,就转发。不过后面一句就陷进去了。其实我前面说过,你需要传递另外一个东西,jsessionId,你在很多网站都可以看到这种应用(尤其是IBM的),对于转发服务器来说,是否存在http session并不重要,没有创建一个就是。你session中存储的数据并不在其中,而是在你对应的JVM节点中,而它是可以通过jsessionId这样的方式去获取的。
至于说怎么识别这样的东西,其实所有的支持负载均衡多个JVM节点并存的服务器都支持。或者大不了如楼上所说,自己建立中央缓存,自己在程序中识别这样的request参数。
大概明白您的意思了。即把session id存放在JVM SESSION中而非HTTP SESSION中,跟之前那位兄弟提到的memcache方案基本相似。但关键是,这个seesion id在第一次被HttpSession返回来后,如果想在下次发起请求是将其原样送给服务器,就必须有一个机制在客户端能让其存活下来,而以浏览器为单位的session cookie是做不到的。
也就是说,问题的关键不是服务器端没办法识别jsessionid,而是这个jsessionid在客户端没法持久化。除非...我能通过在客户端JS上自己动手伪造一个跟登录客户ID相关的jsessionid出来
分享到:
相关推荐
易语言限制异地重复登陆源码系统结构:易语言限制异地重复登陆源码,限制异地重复登陆 ======窗口程序集1 || ||------_时钟1_周期事件
方法一: 复制代码 代码如下: string sKey = username.Text.ToString().Trim(); // 得到Cache中的给定Key的值 string sUser = Convert.ToString(Cache[sKey]); // 检查是否存在 if (sUser == null || sUser == String...
分别为文字 、图片、Flash、弹出窗口以及模态窗口(网页对话框).支持自定义广告内容. (5)、自定义会员的等级,可选会员注册是否开放,可选会员功能是否开启,会员资格时间限制.可选注册时默认超期天数;可选注册立刻激活...
可选下载地址的会员等级限制. (8)、提供多个系统工具:批量修改下载地址,空间占用查看,备份、恢复、压缩数据库. (9)、软件文章采集:自定义采集源,无需学习正则表达式,支持防重复采集,支持内容分页采集.支持...
2.自动接受电脑微信登陆(开启后不在家即可电脑登陆) 3.安卓首款突破20秒视频限制转发(全网独家) 4.无限暴力有效添加群和附近人(可分批可设置验证语) 5.24小时自动关键词回复可编辑(全网独家 6.一键...
正版软件待抽奖人数不做限制,非常适合工厂企业用来举办抽奖活动,即高效、又公平、更大气!可以自定义公司名称、活动名称、抽奖人员名单…… 由于版本内容更新改动较大,从 V 5.71以后版本的注册码跟以前版本注册...
正版软件待抽奖人数不做限制,非常适合工厂企业用来举办抽奖活动,即高效、又公平、更大气!可以自定义公司名称、活动名称、抽奖人员名单… … 由于版本内容更新改动较大,从 V 5.71以后版本的注册码跟以前版本注册...
正版软件待抽奖人数不做限制,非常适合工厂企业用来举办抽奖活动,即高效、又公平、更大气!可以自定义公司名称、活动名称、抽奖人员名单… … 由于版本内容更新改动较大,从 V 5.71以后版本的注册码跟以前版本注册...
正版软件待抽奖人数不做限制,非常适合工厂企业用来举办抽奖活动,即高效、又公平、更大气!可以自定义公司名称、活动名称、抽奖人员名单… … 由于版本内容更新改动较大,从 V 5.71以后版本的注册码跟以前...
正版软件待抽奖人数不做限制,非常适合工厂企业用来举办抽奖活动,即高效、又公平、更大气!可以自定义公司名称、活动名称、抽奖人员名 单…… 由于版本内容更新改动较大,从 V 5.71以后版本的注册码跟以前版本...
多媒体网络教室既无硬件版教学网投资大、安装维护困难、图像传输有重影和水波纹以及线路传输距离限制之弊病;同时又克服了其他同类软件版教学网广播效率低、语音延迟大、操作复杂、稳定性兼容性差等方面的不足。 ...
63、未登陆下载或观看需要权限的软件或视频,会转向登陆窗口,登陆后可返回下载与观看页面。更加人性化。 64、会员登陆默认转向会员控制面板。 65、会员控制面板首页界面改进,并且必须登陆后才能进入会员中心。更...
63、未登陆下载或观看需要权限的软件或视频,会转向登陆窗口,登陆后可返回下载与观看页面。更加人性化。 64、会员登陆默认转向会员控制面板。 65、会员控制面板首页界面改进,并且必须登陆后才能进入会员中心。更...
63、未登陆下载或观看需要权限的软件或视频,会转向登陆窗口,登陆后可返回下载与观看页面。更加人性化。 64、会员登陆默认转向会员控制面板。 65、会员控制面板首页界面改进,并且必须登陆后才能进入会员中心。更...
72.各论坛限制功能是与的关系,可以同时限制多个功能 73.可以设定论坛版主,可以设定多个,至少允许17个版主 74.可以设定版主的权限是否禁止删除帖子 75.可以设定版主的权限是否禁止精华帖子 76.可以设定某用户是否...
72.各论坛限制功能是与的关系,可以同时限制多个功能 73.可以设定论坛版主,可以设定多个,至少允许17个版主 74.可以设定版主的权限是否禁止删除帖子 75.可以设定版主的权限是否禁止精华帖子 76.可以设定某用户是否...
现在越来越多的传统广播电台都在互联网上进行同步转播,从此再也不用担心地域限制而无法收听到自己喜爱的节目了。下面为大家介绍用千千静听来收听电台还有录制广播的方法。 用千千静听听广播 千千静听中并...
[新增]加强网络安全,同一帐号同一时间不能重复登陆,前台强行登陆IP记录与自动锁定,后台便捷控制;[新增]限制(或指定)用户I P登陆功能,查看用户最后登陆I P地址功能;[新增]加强商城金币支付功能系统,金币支付...
强大报表与集成查询功能是本软件的最大特色,所有功能在用户需要的使用地方自然体现,不用打开多个窗口重复查询。 点击下图立即下载里诺进销存管理软件(单机版) 工业、商业、旅游饮食业、交通运输业、建筑行业、...
记事狗微博系统是一套创新的互动社区系统,其以微博为核心,兼有轻博、SNS和BBS特点,既可用来独立建站也可通过Ucenter和oauth接口与已有网站无缝整合,通过...其他的多项优化,包括修复安全漏洞、完善模板和风格结构等