加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET(C#)中实现安全,独特的“一次性”激活URL

发布时间:2020-12-15 18:32:07 所属栏目:asp.Net 来源:网络整理
导读:我有一个场景,我正在建设的一个网站的用户需要能够将一些基本信息输入到Webform而不必登录。该网站正在使用ASP.NET / C#开发,并正在使用MSSQL 2005作为其关系数据。 用户将从网站发送一封电子邮件,为他们提供一个独特的链接,以输入所需的具体信息。电子
我有一个场景,我正在建设的一个网站的用户需要能够将一些基本信息输入到Webform而不必登录。该网站正在使用ASP.NET / C#开发,并正在使用MSSQL 2005作为其关系数据。

用户将从网站发送一封电子邮件,为他们提供一个独特的链接,以输入所需的具体信息。电子邮件将非常类似于我们在注册网站(如论坛)时收到的电子邮件样式,其中包含专门针对单一目的(例如验证论坛的电子邮件地址)的随机生成的唯一URL参数。

我的问题是关于这个问题的安全实现。我正在考虑使用GUID作为唯一标识符,但不确定它在安全领域的影响。

> GUID足够长,使得值不能轻易猜到(或者随着时间的推移强制)?
> .NET的GUID插入是否足够随机,在“关键空间”中产生所有可能的值的机会相等?
>如果使用GUID是可以接受的方法,那么网站是否应该通过URL重写或通过将datatable中的信息与GUID相关联来重定向到信息作为参考?
>将使用URL重写隐藏数据的真实来源?
>我应该考虑使用TSQL的SELECT NEWID()作为GUID生成器通过.NET实现?
我对这个问题的处理方式完全错了吗?

非常感谢,

卡尔

解决方法

是的,2128就够了。
>否,GUID实现旨在生成唯一的GUID而不是随机的GUID。您应该使用 cryptographically secure随机数生成器(例如 RNGCryptoServiceProvider)生成16个随机字节,并使用该字符串初始化Guid结构。 是的,这是一个可以接受的方法。两者都会奏效 >是的,如果你不给出任何其他线索 >不,goto 2 >不,很好您只需要使用加密安全的随机数生成器来生成GUID。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读