所以現在當用戶註冊時,他們的密碼被散列並存儲,他們的id被存儲爲主鍵,並且默認情況下,email_activation字段中的單元被枚舉爲'no'。然後他們會發送一封電子郵件,通過點擊下面的鏈接可以激活他們的賬戶。
http://website.com/activation.php?id=1&pass=23a000e03e9116c958dh923542
點擊該鏈接後,下面的腳本運行
$id= $_GET['id'];
$hashPass= $_GET['pass'];
mysql_query("UPDATE members SET email_activation='yes' WHERE members_id='$id' AND members_password='$hashPass'")
這個問題似乎像一個安全的方式來激活某個用戶的帳戶考慮其散列通是URL的一部分(假設的適當的衛生設施字符串等...)?
感謝琥珀,我喜歡將激活基於註冊帳戶時分配的隨機值的想法。 – user784637
其實,你可以推薦一個函數在PHP中生成隨機長度的隨機字母數字字符串? – user784637
你可以根據'rand()'或'mt_rand()'自己寫一個。 – Amber