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# 限制对除登录以外的所有web表单的直接URL访问? 客观的_C#_Asp.net_.net_Webforms - Fatal编程技术网

C# 限制对除登录以外的所有web表单的直接URL访问? 客观的

C# 限制对除登录以外的所有web表单的直接URL访问? 客观的,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,限制对所有页面的直接URL访问,但Logon.aspx除外,以确保必须每隔一页引用一个用户 司机 这一要求背后的驱动力是我们的内部安全部门。他们认为这是确保应用程序始终安全的唯一可接受的解决方案 问题 这个问题是双重的,所以让我们来处理第一个问题。如果用户登录到某个页面,他们可以复制URL,打开新选项卡,关闭上一个选项卡,粘贴URL,会话仍处于活动状态。我理解为什么会发生这种情况,但他们说我们需要阻止这种情况发生请不要问我为什么,如果我能回答,我可能会说服他们,否则。 问题的第二部分是应用程序最

限制对所有页面的直接URL访问,但
Logon.aspx
除外,以确保必须每隔一页引用一个用户

司机 这一要求背后的驱动力是我们的内部安全部门。他们认为这是确保应用程序始终安全的唯一可接受的解决方案

问题 这个问题是双重的,所以让我们来处理第一个问题。如果用户登录到某个页面,他们可以复制URL,打开新选项卡,关闭上一个选项卡,粘贴URL,会话仍处于活动状态。我理解为什么会发生这种情况,但他们说我们需要阻止这种情况发生请不要问我为什么,如果我能回答,我可能会说服他们,否则。

问题的第二部分是应用程序最初的编写方式(在此处插入真的愤怒的脸),其中两个web表单被重新用于注册。这特别意味着即使用户未登录,也可以访问这些页面。但是,我们必须使它们在流程中被专门引用到这些页面,因此不能直接访问

作为上述段落的一个例子,请考虑以下几点。用户将URL复制到其中一个共享表单,打开新浏览器,然后粘贴到URL中。会话已结束,但出于注册的目的显示表单。然而,这是有问题的,因为他们没有接受术语他们已经打破了已经脆弱的流程

我试过什么? 老实说,没什么。我在这里搜索想法,因为到目前为止,我所看到的最好的谷歌搜索是确保用户首先登录。一些人使用cookie,另一些人使用会员资格提供商,但是用户已经登录这一事实并不能解决我的任何问题


我期待着收到你们的来信

一旦用户登录到系统中,隐藏您已授予访问权限的任何内容的意义何在。但无论如何,这里可能有几种方法可以做到这一点:-

首先,我的建议是将页面包装在IFrame中并禁用右键单击,这样您就无法访问视图源或链接信息

一旦实现了上述目标。您还可以将令牌附加到每个URL。然后您可以检查令牌是否可用。如果可用,则请求有效,否则请求无效


如果我想的话,我会给你更多的解决方案。

一旦用户登录到系统,隐藏任何你授予的访问权限有什么意义。首先,唯一的建议是将页面包装在iframe中并禁用右键单击,这样您就无法访问视图源或链接信息