Php 如何阻止用户在其他选项卡中打开网站?

Php 如何阻止用户在其他选项卡中打开网站?,php,jquery,Php,Jquery,就像发生在银行网站上一样……我想在我的网站上实现同样的事情。请帮我怎么做 当用户登录时,在服务器上生成访问令牌 将此令牌存储在会话存储中 加载页面时,检查SessionStorage中的令牌,并调用服务器上的函数对其进行验证 当要求服务器为已经有令牌的帐户生成令牌时,请拒绝登录并返回错误消息 由于第二个选项卡没有登录,并且有一条很好的错误消息,因此它可能会失败,并显示正确的消息 要使其工作,您还应该有一个会话超时。因此,如果服务器发出一个令牌,而该令牌在您的超时时间内未被验证(例如,60秒?),

就像发生在银行网站上一样……我想在我的网站上实现同样的事情。请帮我怎么做

  • 当用户登录时,在服务器上生成访问令牌
  • 将此令牌存储在会话存储中
  • 加载页面时,检查SessionStorage中的令牌,并调用服务器上的函数对其进行验证
  • 当要求服务器为已经有令牌的帐户生成令牌时,请拒绝登录并返回错误消息
  • 由于第二个选项卡没有登录,并且有一条很好的错误消息,因此它可能会失败,并显示正确的消息

  • 要使其工作,您还应该有一个会话超时。因此,如果服务器发出一个令牌,而该令牌在您的超时时间内未被验证(例如,60秒?),则假定连接已断开,并拒绝验证后续使用。此时,用户可以从第二个选项卡登录,因为第一个选项卡不再登录。

    这实际上是不可能的,因为您无法控制客户端。我不知道你所说的“就像在银行网站上发生的事情”是什么意思。就像许多银行网站一样,如果你复制并粘贴url到其他选项卡上,你就会注销网站。听起来很傻。不要试图智取你的用户。在不需要这些废话的情况下提供健壮的服务:-)请参阅:如果用户真的想做某事,那么为什么要阻止它?这不是用户的选择吗?出于安全目的,我需要实现这一点……当我们从一个页面遍历到另一个页面时,会发生很多会话更新……我想你从未见过银行网站……我想要一个解决方案。如果他们已经实施了,肯定有一个解决方案。当然,我知道银行网站。但我不明白为什么使用多个标签页会成为一个安全问题,除非你的网站是用一种蹩脚的方式编程的。这就是我上面所说的“强健的服务”。仅仅因为客户机以服务不期望的模式尝试请求,服务本身就不安全,所以服务在安全级别上中断,甚至更糟糕的是,服务失败。但肯定不是因为客户端使用多个选项卡。很抱歉即使没有单个选项卡,您也必须期望客户机发送任意序列的请求而不会遇到麻烦。其他一切都是业余的!