【问题标题】:How page expire or session expire works on refresh or back button?页面过期或会话过期如何在刷新或后退按钮上起作用?
【发布时间】:2011-09-07 11:50:50
【问题描述】:

谁能解释一下点击后退按钮时如何使页面过期? 如果我们将响应标头设置为 noCache,这行得通吗? 我看到许多在线银行网站在尝试刷新页面或尝试执行其他操作时会话过期,然后才获得上一个操作的响应或使用后退按钮。如何以最简单的方式实现这一点?

谢谢

【问题讨论】:

  • ... many online banking sites where session gets expired when trying to refresh a page or when trying to perform another action before getting the response for previous action or use back button. - 从可用性的 POV 来看,实际上不建议这样做。任何编写良好的网站都可以处理多个表单提交或返回按钮;处理这些 Web-UX 问题的答案是不要让用户的会话过期。

标签: java web-applications jakarta-ee


【解决方案1】:

如果页面上的每个操作都是带有隐藏随机生成字段的 POST,您可以捕捉到相同 POST 执行两次的情况(使用 GET 您可以尝试相同的技巧)。然后你可以匹配情况,在哪里

  1. 用户刷新页面
  2. 用户点击“返回”按钮
  3. 用户在 2 个浏览器选项卡/窗口中工作

一般来说,您可以匹配任何乱序的用户交互,会话到期可能是其中一种可能的操作。根据我的观察,一些银行系统使用这样的系统来防止无序的用户交互。

【讨论】:

    猜你喜欢
    • 2018-02-04
    • 2015-05-08
    • 2011-07-09
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多