我有一个电子邮件验证页面,我想确保它是通过电子邮件访问的,并且是我的电子邮件,并且有人不只是拥有、猜测或弄清楚 URL 的机制并造成一些恶作剧。
我正在调查HTTP_REFERER
,但我听说这不是一种非常安全的检查方式,因为它很容易被欺骗?
除了电子邮件验证,我还有其他用途,但我想要一种更安全、更值得信赖的方法。有没有更好的方法来验证访客来自哪里?
我有一个电子邮件验证页面,我想确保它是通过电子邮件访问的,并且是我的电子邮件,并且有人不只是拥有、猜测或弄清楚 URL 的机制并造成一些恶作剧。
我正在调查HTTP_REFERER
,但我听说这不是一种非常安全的检查方式,因为它很容易被欺骗?
除了电子邮件验证,我还有其他用途,但我想要一种更安全、更值得信赖的方法。有没有更好的方法来验证访客来自哪里?
您不能信任 HTTP 标头:它可以被伪造。
您不能期望收到引用标头:来自的网站HTTPS://
不会转发该信息。这样做会违反安全预期,不,你不能强迫它。
正如 Sepster 发布的那样,您可以使用 nonce。如果您希望使用 PHP 的 oAuth 以外的其他东西,您可以创建电子邮件的哈希值,并与来自 /dev/urandom 等来源的 24 位以上的加密安全伪随机数连接起来。如果您在 POSIX 操作系统上无权访问 /dev/urandom,则不应尝试编写安全软件。没有加密安全 PRNG 的安全软件不是安全软件。
您可以将该哈希存储在您的表中并滚动您自己的代码来处理尝试使用 nonce 进行的注册。