gpt4 book ai didi

asp.net - 如何防止用户拥有同一 Web 应用程序的多个实例

转载 作者:可可西里 更新时间:2023-11-01 01:50:09 24 4
gpt4 key购买 nike

我想知道是否有可能确定用户是否已经打开了用于我正在处理的 Web 应用程序的 Web 浏览器。他们似乎可以打开同一个网络应用程序的多个实例,然后单击按钮来阅读他们之前使用过的信息,然后进入他们当前正在处理的输入屏幕。

但发生的事情是,它似乎搞砸了 session 变量,然后用户将用他们的新工作更新他们以前的工作。或者他们会一起删除他们以前的工作,或者谁知道......

编辑我以前在网上银行 Web 应用程序中看到过这种情况。如果您已经登录,新窗口会友好地告诉您您已经打开了该应用程序。在我的例子中,用户不需要登录。

是否有一种简单的方法来确定他们是否已经为 Web 应用程序打开了一个浏览器窗口,如果是,只需关闭浏览器或显示一个不同的页面,让他们知道他们一次只能打开一个?

谢谢

最佳答案

首先,不,没有,其次,你不应该尝试。

弹出窗口策略不会起作用(并且会惹恼用户)。我将浏览器设置为“以选项卡形式打开窗口”,选择是否将一个窗口拆分到另一个窗口中。或者在某些情况下,是否运行不同的浏览器——而不仅仅是同一浏览器的另一个实例——以显示同一站点上的另一个页面。

相反,迷你 session ID 将失败,因为服务器无法跟踪请求是否来自与现有 session 相同的用户。几个人可能使用同一台机器,即使用户名相同;或者一个人可能在一台或多台机器上有多个单独的登录 session 。

只需整理您的协议(protocol)与“ session ”变量,并确保最后提交的更改是持久的。

关于asp.net - 如何防止用户拥有同一 Web 应用程序的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/557733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com