客户要求在尝试使用浏览器的导航按钮进行导航时,必须强制注销站点的用户(登录并能够查看其个人信息时).
在SO上搜索似乎表明,人们遇到的大多数问题是"阻止"人们在退出时点击浏览器的后退按钮,就像这样和这样.不同之处在于我需要"停止"用户在历史记录中向后导航(甚至是向前导航,但我不知道如果用户不能首先返回,他们将如何在历史中前进)即使他们登录,也必须使用提供的导航.
我正在考虑在用户点击后退按钮然后将其记录下来捕获浏览器的事件.但是,正如这里所讨论的那样,您似乎只能使用Javascript"执行此操作"而不使用服务器端代码.我对这种方法的质疑是,用户只需在浏览器上禁用Javascript就可以绕过它.
所以我的问题是 - 有没有办法在服务器端捕获浏览器事件并将其记录在那里?如果没有,实现目标的替代方案是什么?
我会说你最好的选择是跟踪会话.
您使客户端向您发送服务器处理请求的时间戳,或者甚至更简单:用户相关计数器(每次发送到客户端),服务器端跟踪发送的最后一个时间戳/计数器.
如果用户单击后退按钮,他将向您发送旧时间戳/计数器而不是最后一个当前时间戳,然后您可以将他从服务器端注销.
这应该可以解决问题.
为了确保完成这个技巧并使其独立于javascript,我会说你可以将这个值放在一个隐藏的参数中,或者作为一个隐藏的字段形式,这样用户就不会看到它,但总是会被发送到你的服务器.
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
893 次 |
| 最近记录: |