Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 阻止用户访问某个站点,然后在保持登录的同时返回上一个站点_C#_Asp.net_.net_Security - Fatal编程技术网

C# 阻止用户访问某个站点,然后在保持登录的同时返回上一个站点

C# 阻止用户访问某个站点,然后在保持登录的同时返回上一个站点,c#,asp.net,.net,security,C#,Asp.net,.net,Security,今天我有一个奇怪的问题要解决。客户端需要其站点不允许用户登录、转到其他站点,如果用户在浏览器中单击“后退”按钮,则仍然可以登录 简单的我想。。。直到我找不到当从另一个站点按下后退按钮时触发的页面事件 我曾想过只使用JavaScript和referer对象,但这并不能实现我的目标,因为我需要访问.NET成员系统并让用户退出会话 有人解决了这个问题吗?如果是,怎么做?任何帮助都将不胜感激,我可能只是错过了一些我可以在Global.asax中实现的东西?如果有帮助的话,我正在使用.NET4.5/C 理

今天我有一个奇怪的问题要解决。客户端需要其站点不允许用户登录、转到其他站点,如果用户在浏览器中单击“后退”按钮,则仍然可以登录

简单的我想。。。直到我找不到当从另一个站点按下后退按钮时触发的页面事件

我曾想过只使用JavaScript和referer对象,但这并不能实现我的目标,因为我需要访问.NET成员系统并让用户退出会话

有人解决了这个问题吗?如果是,怎么做?任何帮助都将不胜感激,我可能只是错过了一些我可以在Global.asax中实现的东西?如果有帮助的话,我正在使用.NET4.5/C

理由:


因为,比如说,如果一个运营商去解锁他们的机器,访问谷歌,然后另一个运营商恶意进入同一台机器,点击后退按钮以访问该运营商的登录(客户端非常谨慎)

通过JS重定向到reals主页,您可以使站点的登录页不包含任何内容。这样,当用户点击“后退”按钮时,他将首先返回到damy重定向页,并将其移回主页


但如果用户选择一次跳过页面数或只是打开另一个窗口,则有可能覆盖此选项

通过JS重定向到reals主页,您可以使站点的登录页不包含任何内容。这样,当用户点击“后退”按钮时,他将首先返回到damy重定向页,并将其移回主页


但如果用户选择一次跳过页面数或只是打开另一个窗口,则有可能覆盖此选项

您能否提供进一步的信息,说明为什么需要它?我认为在你的情况下,有一个可能的解决方案,可能是有一个单独的数据库表或字段来标记或标记这些被重定向到另一个站点的用户,只要将他们视为已注销,然后一旦他们点击你的站点URL,你可能就可以检查标记并重新登录,自动。

您能提供更多关于为什么需要它的信息吗?我认为在你的情况下,有一个可能的解决方案,可能是有一个单独的数据库表或字段来标记或标记这些被重定向到另一个站点的用户,只要将他们视为已注销,然后一旦他们点击你的站点URL,你可能就可以检查标记并重新登录,自动。

那么您希望用户在离开您的站点时注销吗?您可以使用全局javascript,它每分钟向服务器发送一个请求,说“嘿,服务器,我在这里!我是用户Joe Blogs,我仍然在站点上”。如果服务器从用户处收到此消息的时间超过一分钟,请将其注销

覆盖后退按钮就是不起作用。若用户打开另一个选项卡/窗口并转到谷歌,你们会怎么做

更新: 您可以尝试使用fromjquery来捕获页面离开。并销毁该事件的Cookie

然而,当机器处于无人看管状态时,没有任何东西可以阻止恶意用户去获取访问权限

更新2您可以设置非常短的会话寿命!如果用户处于非活动状态(或离开页面)-将其注销。为了防止用户在屏幕上看得太久(填写很长的表单)时可能会因注销而产生的麻烦-让javascript定期(每5分钟)对服务器执行一次虚拟页面-在加载页面时保持会话活动


以下是来源:

所以你想在用户离开你的网站时注销他们?您可以使用全局javascript,它每分钟向服务器发送一个请求,说“嘿,服务器,我在这里!我是用户Joe Blogs,我仍然在站点上”。如果服务器从用户处收到此消息的时间超过一分钟,请将其注销

覆盖后退按钮就是不起作用。若用户打开另一个选项卡/窗口并转到谷歌,你们会怎么做

更新: 您可以尝试使用fromjquery来捕获页面离开。并销毁该事件的Cookie

然而,当机器处于无人看管状态时,没有任何东西可以阻止恶意用户去获取访问权限

更新2您可以设置非常短的会话寿命!如果用户处于非活动状态(或离开页面)-将其注销。为了防止用户在屏幕上看得太久(填写很长的表单)时可能会因注销而产生的麻烦-让javascript定期(每5分钟)对服务器执行一次虚拟页面-在加载页面时保持会话活动

源代码如下:

JQuery
unload()
函数将解决您的问题,就像javascript
窗口一样。onbeforeunload

JQuery
unload()
函数将解决您的问题,就像javascript
窗口一样。onbeforeunload

也许有一个“神奇”的地方问题的解决方案,但这里的关键在于推理:操作员A不允许使用具有操作员B凭据的站点

从客户机和服务器的角度来看,服务器或客户机(浏览器)无法判断人们在任何时候都换了座位

这就是你必须解决的问题

但是,也许实施人脸检测有点过头了?

对于这个问题,也许有一个“神奇”的解决方案,但这里的关键在于推理:操作员a不允许使用具有操作员B凭据的站点

从客户机和服务器的角度来看,服务器或客户机(浏览器)无法判断人们在任何时候都换了座位

这就是你必须解决的问题

但也许实施人脸检测有点过头了?

如果你