阻止用户打开应用程序的多个选项卡

时间:2016-06-04 05:53:26

标签: javascript

在我的应用程序中,它不应该允许用户在同一浏览器的多个选项卡中打开应用程序。出于某些安全目的,我需要实现它。我该如何实现呢?

2 个答案:

答案 0 :(得分:1)

每次用户打开您的应用程序时,都会在服务器端生成会话ID。此会话ID应特定于浏览器,IP,MAC以及作为初始请求的一部分而收到的任何数据。对于每个后续请求,请验证会话ID。

您的应用程序中的任何链接都应该发送POST请求,最好是提交表单,而不是GET请求,因此它不会在另一个选项卡中打开。

如果用户故意在另一个选项卡中打开您的应用程序,因为您知道已经为所请求的数据生成了会话ID,请使先前生成的会话ID无效,将用户注销,并销毁该会话。

答案 1 :(得分:0)

更简单的方法是订阅localStorage通知,然后更新节点。由于事件未发送到更​​新选项卡,因此只会影响以前打开的选项卡。

jquery中的示例:

let theRoomsOnTheSelectedFloor = roomsForFloor[floorBox.selectedString]