|
|
1
15
您应该使用的不是GUID,而是一个密码强大的随机数生成器-使用
System.Security.Cryptography.RNGCryptoServiceProvider
base64 encode
那。
哦,差点忘了——你应该考虑的另一个问题是,如果用户想要向他发送几封电子邮件,比如点击注册几次,会发生什么。他能一遍又一遍地这样做,并得到许多有效的网址吗?只有最后一个有效吗?或者,同样的价值观会一次又一次地被怨恨?当然,如果匿名用户可以提交对此电子邮件的请求,那么DoS可能会成为一个问题。..更不用说,如果他输入自己的电子邮件,他也可以输入任何随机地址,淹没一些可怜的混蛋的收件箱,并可能导致你的邮件服务器被列入黑名单。..
|
|
2
10
|
|
|
3
4
我建议只使用普通随机数,例如 RNGCryptoServiceProvider.GetBytes GUID并不意味着是完全随机的。它们有固定的位,有些版本使用你的MAC地址。GetBytes还为您提供了使用超过128位的选项(尽管这应该足够了)。 我认为最好不要把用户的数据放在url中。虽然HTTPS可以在传输过程中保护它,但它可能仍然存在于用户的浏览器历史记录中。最好使用POST并将随机数与数据库的一行相关联。 |
|
|
4
4
|
|
|
5
1
首先,如果可能的话,您应该通过限制查询的吞吐量来限制暴力破解(例如,每秒每IP的有限尝试次数和每秒的有限总尝试次数)。
如果安全是首要任务,我会选择 cryptographically strong random number generator
|
|
|
6
-1
|
|
|
xchrisbradley · 使用Zig签名对功能选择器进行编码 1 年前 |
|
|
Shirin Ebadi · 加载公钥字节作为DH密钥 1 年前 |
|
YoavKlein · 为什么jwt.io会给我私钥部分来填充? 1 年前 |
|
|
birb · RFC-6238 TOTP实现与示例不匹配 2 年前 |
|
|
Stefan N · 如何生成N个字符的所有字母数字组合[重复] 2 年前 |
|
|
xdivayze · 在线和离线客户端之间的打包密钥交换 2 年前 |