我向用户发送了一个点击链接,以验证他的帐户。
一切顺利,直到我有了从Gmail
地址进行测试的想法。当用户从网站发送请求时,他已经被迫选择存储在cookie中的语言。
我有Firefox
作为默认浏览器。它适用于所有其他电子邮件客户端,例如Yahoo
,Hotmail
和Windows Mail
,但不适用于Gmail
。
错误是当点击链接时,会打开一个新页面(如有),但会显示Cookie选择页面,并要求再次选择语言,一次又一次。
此代码段用于设置语言Cookie:
setcookie("language",$_GET["language"],time()+730*24*3600,NULL, NULL, NULL,TRUE);
使用以下索引规则设置其他Cookie:
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
以下格式的链接用于验证用户(已修改):
这意味着Gmail
的用户将无法进行身份验证。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
我终于找到了原因:
我的代码是这样缩进的:
http://www.example.com/index.php?%09%09page= 验证&安培;代码= 7c222fb2927d828af22f592134e8932480637c0d&安培;用户= some.random.user%40gmail.com&安培; 确认= e34054aca67d77bb76fe62019ef331c7e2a0a4b9
这不会导致我测试过的任何电子邮件提供商出现错误,Gmail
除外!
它会在%09%09
之后插入 equal
,因此验证失败,因为它无法到达目标网页。
希望这可以提供帮助。