我有一个电子邮件验证页面,我想确保它是通过电子邮件访问的,它是我的电子邮件而且有人不仅仅有,猜到或想出了它的机制网址并导致一些恶作剧。
我正在调查HTTP_REFERER
,但我听说这不是一种非常安全的检查方式,因为它很容易被欺骗?
除了电子邮件验证之外,我还有其他用途我想使用它,但我想要一种更安全可靠的方法。有没有更好的方法来验证访客来自哪里?
答案 0 :(得分:0)
NONCE会有所帮助。在第一页上使用NONCE发出客户端,然后客户端需要在其回复中包含已发布的NONCE。
例如,WordPress使用这种方法。
nonce =一次使用的数字。请参阅wikipedia article
PHP特定实现,请参阅PHP manual
答案 1 :(得分:0)
您无法信任HTTP标头:它可以伪造。
您不能指望收到引用标头:来自HTTPS://
的网站不会转发该信息。这样做会违背安全期望,不,你不能强迫它。
正如Sepster发布的那样,你可以使用一个随机数。如果您希望使用PHP的oAuth之外的其他内容,您可以创建一个电子邮件的哈希值,该邮件与来自/ dev / urandom等源的24位加密安全psudo随机数串联。如果您无法访问POSIX操作系统上的/ dev / urandom,则不应尝试编写安全软件。没有加密安全PRNG的安全软件不是安全软件。
您可以将该哈希存储在表中并滚动自己的代码来处理使用现时的注册尝试。