我有一个场景,我正在建设的一个网站的用户需要能够将一些基本信息输入到Webform而不必登录。该网站正在使用ASP.NET / C#开发,并正在使用MSsql 2005作为其关系数据。
用户将从网站发送一封电子邮件,为他们提供一个独特的链接,以输入所需的具体信息。电子邮件将非常类似于我们在注册网站(如论坛)时收到的电子邮件样式,其中包含专门针对单一目的(例如验证论坛的电子邮件地址)的随机生成的唯一URL参数。
我的问题是关于这个问题的安全实现。我正在考虑使用GUID作为唯一标识符,但不确定它在安全领域的影响。
> GUID足够长,使得值不能轻易猜到(或者随着时间的推移强制)?
> .NET的GUID插入是否足够随机,在“关键空间”中产生所有可能的值的机会相等?
>如果使用GUID是可以接受的方法,那么网站是否应该通过URL重写或通过将datatable中的信息与GUID相关联来重定向到信息作为参考?
>将使用URL重写隐藏数据的真实来源?
>我应该考虑使用Tsql的SELECT NEWID()作为GUID生成器通过.NET实现?
我对这个问题的处理方式完全错了吗?
非常感谢,
卡尔