0

客观的

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

司机

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

问题

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

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

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

我尝试了什么?

老实说,什么都没有。我在这里寻找想法,因为到目前为止我所见过的最好的谷歌搜索是围绕确保用户首先登录的东西。有些人使用cookies,有些人使用会员提供者,但用户已经登录的事实并不能解决我的任何一个问题。

我期待着大家的回音!

4

1 回答 1

0

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

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

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

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

于 2013-01-21T13:44:48.657 回答