如何判断用户是否绕开登录直接访问系统内页面

清风明月Max 2015-06-24 10:47:39
描述:系统的用户是政府的工地巡查人员,用的是平板插手机卡上网的方式登录系统。因为信号不稳定,原来的Session保存登录身份信息的方式不行,Session经常会断开,会让用户重新登录。所以把登录帐号保存在Cookie中,通过Cookie中记录的帐号来判断用户具有哪些权限,能访问哪些页面。但是有一个问题,如果用户点击【退出系统】按钮,我可以注销帐号,是Cookie过期,这样,别人就不能通过直接在地址栏中输入某个确定的页面Url来访问我的网页,只能重新登录。但是如果用户是点击浏览器右上角的叉号关闭了页面,Cookie的信息就不会注销,别人可以通过直接在地址栏中输入某个确定的页面Url,绕开登录窗口,来访问我的网页
...全文
790 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
清风明月Max 2015-06-24
  • 打赏
  • 举报
回复
是的,登录的时候设置了过期时间4个小时
skyandcode 2015-06-24
  • 打赏
  • 举报
回复
cookie如果不设置有效时间,就是本次浏览有效,关闭后,自动注销。
yue547283947 2015-06-24
  • 打赏
  • 举报
回复
Cookie只要不设置过期时间,就是默认当浏览器关闭的时候就失效。 如果用户是点击浏览器右上角的叉号关闭了页面,Cookie的信息就不会注销 你说的这句话,可能就是你在保存Cookie的时候设置了过期时间。
清风明月Max 2015-06-24
  • 打赏
  • 举报
回复
怎么才能判断用户是否是通过登录窗口进入系统,还是通过在地址栏中输入URL进来的。 不能使用参数来判断,因为别人会把参数也复制到地址栏中,也不能用Session来判断,因为Session会经常断开。JS的窗口关闭事件也不行,有些浏览器不执行这个程序。
於黾 2015-06-24
  • 打赏
  • 举报
回复
引用 14 楼 xuanbg 的回复:
要想自动失效就不要设置过期时间,不设置过期时间又有一直开着不关闭的问题。。。。。。 b/s就是这样了,要想解决这个问题,改成c/s。
改成C/S一样存在用户交班但是根本不退出系统的问题 这是操作层面上的问题,跟代码无关
software_artisan 2015-06-24
  • 打赏
  • 举报
回复
引用 13 楼 q375938192 的回复:
浏览器有一个close触发的js事件的我记得.    具体的我忘了你可以百度搜搜. 然后你在js事件中调用后台清空cookie就好了哇
直接杀掉就不会触发事件了。。。而且,这个事件在平板上不见得有哇
software_artisan 2015-06-24
  • 打赏
  • 举报
回复
要想自动失效就不要设置过期时间,不设置过期时间又有一直开着不关闭的问题。。。。。。 b/s就是这样了,要想解决这个问题,改成c/s。
BillHu233 2015-06-24
  • 打赏
  • 举报
回复
浏览器有一个close触发的js事件的我记得.    具体的我忘了你可以百度搜搜. 然后你在js事件中调用后台清空cookie就好了哇
  • 打赏
  • 举报
回复
其实,对于工人使用,如果网页打开时都要求登录的话,是很“不好用”。 如果你的用户交班时不想关闭系统的话,那么你就只好让你的程序时不时地“刷脸、刷指纹”了,没有别的什么方便的使用方式。
lc_ant 2015-06-24
  • 打赏
  • 举报
回复
上面都说了,你要每次打开页面需要登录,就别设置过期时间
  • 打赏
  • 举报
回复
引用 3 楼 skyandcode 的回复:
cookie如果不设置有效时间,就是本次浏览有效,关闭后,自动注销。
就是cookie
於黾 2015-06-24
  • 打赏
  • 举报
回复
我手机上的QQ,只要我不主动点退出,那么它就永远都是自动登录的 这有什么问题?? 为啥非要我每次登陆都输入一遍用户名密码??
  • 打赏
  • 举报
回复
引用 4 楼 u014310152 的回复:
是的,登录的时候设置了过期时间4个小时
设置成4周也行。关键不在于这里。
  • 打赏
  • 举报
回复
你可以问问用户,每个人都使用别人的账号登录平板电脑,难道平板电脑的账号密码是摆设吗?
於黾 2015-06-24
  • 打赏
  • 举报
回复
session方式不行,跟IE是否是平板没有一毛钱关系 session过期时间默认20分钟,20分钟不动作,当然就失效了
於黾 2015-06-24
  • 打赏
  • 举报
回复
引用 4 楼 u014310152 的回复:
是的,登录的时候设置了过期时间4个小时
既然你设置了过期时间4小时,那么就是你认为4小时之内,用户都可以免登陆访问你的网站 这跟用户不关闭IE,直接在新页面输入URL有什么区别呢 为啥非要纠结用户每次访问都必须登陆?

62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧