我在网上银行网站上注意到的一种设计模式是,如果/当您点击浏览器上的后退按钮、结束会话并要求您重新登录时,您会自动注销并发送到警告页面。
我假设这是出于某种安全考虑,但我不知道是什么。这种行为的基本原理是什么?
我在网上银行网站上注意到的一种设计模式是,如果/当您点击浏览器上的后退按钮、结束会话并要求您重新登录时,您会自动注销并发送到警告页面。
我假设这是出于某种安全考虑,但我不知道是什么。这种行为的基本原理是什么?
此类银行可能希望保护您免受以下情况的影响:
这就是当您使用浏览器后退按钮导航到银行网站时无法正常工作的原因之一。
但更可能的原因可能是 Web 开发人员的懒惰。
允许用户使用向后和向前导航会在 Web 应用程序中创建一个额外的变量,需要始终牢记这一点。简单地使这成为不可能会删除该变量,并使开发人员更容易创建安全且无错误的应用程序。由于银行应用程序中的错误可能会造成相当多的财务损失,因此该领域的开发人员相当保守,并且在产生更可预测的应用程序使用模式时往往会限制可用性。
这里有几件事:
银行网站将使用缓存控制标头来禁止缓存页面。因此,当您单击返回时,浏览器必须从服务器重新加载页面。
网站的某些部分可能有严格的页面流程,例如您输入交易详情、输入您的 SMS 代码、查看交易确认。这些需要严格跟踪您应该在哪个页面上。所以如果你点击返回,它会破坏这个,你会得到一个错误。
它也可能是由于对提高站点安全性的可疑尝试而发生的。例如,一些银行的 URL 中的会话令牌会随着每个请求而更改,如果您返回,您的令牌现在无效。
网站通常没有严格的需要具有这种行为。回溯十年左右,它曾经很普遍,尽管现在不那么普遍了。
这现在不常见了,但很久以前,很多网站只是围绕经典终端(IBM 3270等)应用程序的 HTML 包装器,它们正在被有状态地抓取,这在整个想法的遗留行业中尤其普遍视图和模型之间的分离是非常非常新的。许多银行网站可能仍然以这种方式实现,或者它们曾经并且仍然具有“以防万一”的后退按钮预防行为。