我们提供多种在线服务.如果用户从一个服务(on domain1.com)转移到另一个服务(on domain2.com),我们需要开发一个为用户提供快速/简单体验的系统.
一旦他转移到新服务后,是否有一种安全可靠的方式自动登录用户?
如果下面的解决方案完全不安全/错误,请对我大喊大叫.
我们正在考虑一个类似于许多在线服务提供的用于密码恢复的系统 - 它们通过电子邮件发送一个带有唯一哈希的链接,该链接过期,允许他们更改密码.
该domain1.com会生成一个唯一的哈希值,并将其存储在连接到用户以及一个到期时间字段的哈希数据库.
用户将被转移到 domain2.com/auto/?hash=d41d8cd98f00b204e9800998ecf8427e
domain2.com接下来将domain1.com使用散列请求获取有关用户的信息.domain1.com然后将从数据库中删除哈希.domain2.com会记录用户并设置cookie等
可以基于OpenID或OAuth获得相同的结果吗?
我需要替换rand()使用加密强随机数生成器的PHP 函数.
该openssl_random_pseudo_bytes()函数使您可以访问强随机数生成器,但它将其数据作为字节字符串输出.相反,我需要一个介于0和X之间的整数.
我想关键是将输出openssl_random_pseudo_bytes()转换为整数,然后你就可以对它进行任何数学运算.我可以想到一些从字节串转换为整数的"蛮力"方式,但我希望有一些......优雅.
基本上我创建了一个页面来发送邮件来恢复你的密码。问题是,在您填写所有信息并发送邮件后,每次刷新页面时它都会继续发送电子邮件。我能想到的唯一解决方案是打开一个不同的页面
header("Location: index.php");
Run Code Online (Sandbox Code Playgroud)
或者我想什么都可以,但还有其他解决方案吗?例如,我发现了一些有关取消设置所有变量的信息,但我真的不知道这有多可行