在我的应用程序中,它不应该允许用户在同一浏览器的多个选项卡中打开应用程序。出于某些安全目的,我需要实现它。我该如何实现呢?
答案 0 :(得分:1)
每次用户打开您的应用程序时,都会在服务器端生成会话ID。此会话ID应特定于浏览器,IP,MAC以及作为初始请求的一部分而收到的任何数据。对于每个后续请求,请验证会话ID。
您的应用程序中的任何链接都应该发送POST请求,最好是提交表单,而不是GET请求,因此它不会在另一个选项卡中打开。
如果用户故意在另一个选项卡中打开您的应用程序,因为您知道已经为所请求的数据生成了会话ID,请使先前生成的会话ID无效,将用户注销,并销毁该会话。
答案 1 :(得分:0)
更简单的方法是订阅localStorage通知,然后更新节点。由于事件未发送到更新选项卡,因此只会影响以前打开的选项卡。
jquery中的示例:
let theRoomsOnTheSelectedFloor = roomsForFloor[floorBox.selectedString]