我有一个PHP脚本:) 基本上用户注册收到一封电子邮件,然后单击激活链接。当他们点击激活链接时,它会将它们带到activate.php页面,并且全部完成。 的问题在他们收到的电子邮件中的链接看起来像PHP确认电子邮件链接是带我到错误的页面
Hello用户名,现在这里是您的登录信息:
用户名:计算
密码:计算
下一个步骤是点击此链接激活你的账号:点击这里
你可以在上面的最后一行看到,网站的名字加入到了activate.php页面,链接应该带给他们。所以即时猜测我的错误并不是那么糟糕,我只是缺少正斜杠或类似的东西。 无论如何,我认为问题来自下面的代码。我尽可能缩短了代码。
<?
// send email
$myname = $contact_name;
$myemail = $contact_email;
$contactname = $signup[fname];
$contactemail = $signup[email];
$message = "Hello ".$signup[fname].",<BR>".
"Get ready to start getting the hits you deserve. Now here is your login info:<BR> <BR>".
"username: ".$signup[username]."<BR>".
"password: ".$signup[password]."<BR><BR>".
"<B>The next step is to click on this link to activate your account:<a href=".$siteUrl."activate.php?username=".$signup[username].">CLICK HERE</a></b>";
$subject = $title;
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$myname." <".$myemail.">\r\n";
$headers .= "To: ".$contactemail." <".$contactemail.">\r\n";
$headers .= "Reply-To: ".$myname." <".$myemail.">\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: Just My Server";
mail($contactemail, $subject, $message, $headers);
$signup[username] = "";
?>
如果有人可以对此有所了解,这将是很好的。以为我只是提到我使用PHP 5.3 我认为我自己的问题来自 href =“。$ siteUrl。”activate.php?username =“。$ signup [username]。”> CLICK HERE“; $ subject = $称号;
但我需要一些一个谁知道一些有效的输入:)
为了安全起见,你散列密码,你也可能要不要发送明文密码,你可能想添加令牌激活,例如:example.com/activate.php/?token=dhwudf983nsdfwuen&user=nwenwsli2nf82ndj,并检查用户和令牌,然后你就会知道这是实际点击的用户链接 – Class
感谢您的输入,我将在稍后创建一个独立的线程。因为像您说的安全方很跛。所以你可以随意加入。关心尼日尔。 – user1906671