由于 msnbot,发送给 Outlook 用户的电子邮件验证链接过期

问题描述

我创建了一个网络应用程序,用户必须首先通过点击包含验证码的链接注册和确认他们的电子邮件地址; 我最近发现,每当使用 Outlook 的用户想要验证他们的电子邮件时,都会收到代码过期或不存在地址。 经过一个小时的调试,我发现一个 MSN bot 正在发送电子邮件之前访问验证链接,使其过期。我知道这确实验证了电子邮件,因为我注意到如果帐户不存在,机器人不会访问该页面,但如果错误的人收到了电子邮件或在用户体验方面,它也无济于事; 我想知道是否有熟悉这个问题的人可以就如何管理它提供建议。

这是我可以使用 PHP 从机器人读取的内容。如果主机包含 msnbot 或 search.msn.com,我可以尝试不验证电子邮件地址,但我不知道这个解决方案有多可靠,因为我不知道机器人是否总是会返回其中任何一个

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML,like Gecko) BingPreview/1.0b
IP: 40.77.167.67
Hostname by address: msnbot-40-77-167-67.search.msn.com

解决方法

不要计算链接点击次数,而是将用户引导至明确要求用户点击按钮的页面。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...