我有一個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