-2

我正在开发一个金融网络应用程序。

有一个客户端要求,如果用户已登录并且已经在浏览该应用程序。如果他将浏览器 url 复制并粘贴到另一个窗口。在另一个窗口中,用户应该被注销。

我知道 http 是无状态的,并且没有内置的浏览器机制(cookie 等)来解决它,这需要仅通过编程来实现。我想人们已经解决了这个问题。您知道解决此问题的可能解决方案吗?

4

1 回答 1

1

可悲的是,没有解决方案。

浏览器会保留您打开的所有选项卡和窗口的 cookie 和所有用户信息。一旦您关闭浏览器的所有选项卡和窗口,它就会清除数据(例如在会话结束后要求删除的 cookie)。请注意,如果用户使用其他浏览器,您想要的行为将得到尊重——浏览器不会(还没有?)共享此类信息。

用代码根本不可能解决问题,您必须找到解决方法。

作为一名研究人员,我见过其中一种解决方案:在 HTTP_REFERER(Apache 环境变量)上取消用户身份验证。只要引用者不是应用程序本身(登录表单除外),用户就会被取消身份验证。但请注意:Referer 是浏​​览器发送的信息。并且浏览器发送的任何信息都不应该被信任:)。如果您只想使用 Javascript,建议仍然存在。你会发现有人使用 JS-disabled-browser 绕过你的验证。

这就是为什么应用程序开发还没有死;)

干杯。K。

于 2013-05-07T17:56:04.250 回答