C# 限制对除登录以外的所有web表单的直接URL访问? 客观的
限制对所有页面的直接URL访问,但C# 限制对除登录以外的所有web表单的直接URL访问? 客观的,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,限制对所有页面的直接URL访问,但Logon.aspx除外,以确保必须每隔一页引用一个用户 司机 这一要求背后的驱动力是我们的内部安全部门。他们认为这是确保应用程序始终安全的唯一可接受的解决方案 问题 这个问题是双重的,所以让我们来处理第一个问题。如果用户登录到某个页面,他们可以复制URL,打开新选项卡,关闭上一个选项卡,粘贴URL,会话仍处于活动状态。我理解为什么会发生这种情况,但他们说我们需要阻止这种情况发生请不要问我为什么,如果我能回答,我可能会说服他们,否则。 问题的第二部分是应用程序最
Logon.aspx
除外,以确保必须每隔一页引用一个用户
司机
这一要求背后的驱动力是我们的内部安全部门。他们认为这是确保应用程序始终安全的唯一可接受的解决方案
问题
这个问题是双重的,所以让我们来处理第一个问题。如果用户登录到某个页面,他们可以复制URL,打开新选项卡,关闭上一个选项卡,粘贴URL,会话仍处于活动状态。我理解为什么会发生这种情况,但他们说我们需要阻止这种情况发生请不要问我为什么,如果我能回答,我可能会说服他们,否则。
问题的第二部分是应用程序最初的编写方式(在此处插入真的愤怒的脸),其中两个web表单被重新用于注册。这特别意味着即使用户未登录,也可以访问这些页面。但是,我们必须使它们在流程中被专门引用到这些页面,因此不能直接访问
作为上述段落的一个例子,请考虑以下几点。用户将URL复制到其中一个共享表单,打开新浏览器,然后粘贴到URL中。会话已结束,但出于注册的目的显示表单。然而,这是有问题的,因为他们没有接受术语,他们已经打破了已经脆弱的流程
我试过什么? 老实说,没什么。我在这里搜索想法,因为到目前为止,我所看到的最好的谷歌搜索是确保用户首先登录。一些人使用cookie,另一些人使用会员资格提供商,但是用户已经登录这一事实并不能解决我的任何问题我期待着收到你们的来信 一旦用户登录到系统中,隐藏您已授予访问权限的任何内容的意义何在。但无论如何,这里可能有几种方法可以做到这一点:- 首先,我的建议是将页面包装在IFrame中并禁用右键单击,这样您就无法访问视图源或链接信息 一旦实现了上述目标。您还可以将令牌附加到每个URL。然后您可以检查令牌是否可用。如果可用,则请求有效,否则请求无效
如果我想的话,我会给你更多的解决方案。一旦用户登录到系统,隐藏任何你授予的访问权限有什么意义。首先,唯一的建议是将页面包装在iframe中并禁用右键单击,这样您就无法访问视图源或链接信息