将会话ID添加到链接以自动启动会话

时间:2011-12-08 17:24:24

标签: asp.net vb.net session

我不确定这样的事情是否可行,但有人告诉我,我需要让特定的最终用户更容易使用我的网站。

目前,我正在存储用户在文本框中键入的会话变量。通过有效的输入,他们的会话被创建,并且他们比网站的常规最终用户获得更多的功能。

我想知道是否有可能找到一种方法将某人的会话变量添加到URL的末尾。通过这种方式,我们可以通过电子邮件发送链接到我们的客户,他们点击它,他们的会话已经自动开始。

他们已经有了输入代码的文本框,但有人告诉我,用户只需点击一个会开始会话的链接就会容易得多。

如果这没有意义,请告诉我,我会尝试更好地解释它。我很难绕开......

1 个答案:

答案 0 :(得分:1)

默认情况下,会话因安全原因而过期(我认为在20分钟后),以节省系统资源,否则这些资源将用于维护会话状态。

每当您提供允许绕过身份验证的任何类型的URL时,都会打开安全漏洞。您和您的公司需要决定收益是否大于风险。请记住,任何看到该网址的人(即使是有人收听线上通信)都可以在以后使用该网址获取访问权限。

如果您确实想要使用该路线,则可能需要附加与用户帐户相关联的GUID之类的内容。如果入站URL包含具有GUID的适当参数,请尝试从GUID查找用户帐户。如果找到GUID,请为该用户创建一个新会话。

同样,这确实代表了一个主要的安全风险。具有特殊URL的任何人都可以充当实际用户。在继续之前,请确保您和您的公司完全理解。

考虑记录使用特殊GUID创建的会话的IP地址,以便至少可以检测滥用模式。如果用户通常从固定的IP地址访问系统(例如,如果这是一个Intranet应用程序),您可能会考虑锁定使用该IP地址的特殊GUID的能力。如果他们访问系统,例如在家中使用不同的IP,只需将它们发送到登录页面即可。