2011-02-19 62 views
0

我已經創建了幾乎完成的Web應用程序。我需要它來確認新的電子郵件。我只想知道這些是否正確,因爲我不熟悉這一點。用於確認Web應用程序的電子郵件的標準程序

我創建了一個名爲「confirmEmails」的新表,其中只有一列使用uniqueId。用PHP創建了一個唯一的ID:uniqueid(),它是在用戶點擊提交按鈕後直接創建的。 php腳本將它存儲在桌面上。電子郵件與鏈接www.domain.com/confirmEmail.php?uniqueId=kushfpuhrufhufhfhuhfheriufhehu一起發送。我有一個名爲confirmEmail.php的php腳本,它通過$ _GET ['uniqueId'];(也許我會用post來代替她)的鏈接獲取值uniqueId。現在它在表格中存儲新的電子郵件,稱爲用戶

它是否正確的程序?請給我一些反饋!

回答

0

你的描述說你在唯一表中只有一列。您需要將唯一的Id(令牌)與您驗證的特定用戶相關聯。否則,用戶可以使用另一個用戶的唯一ID來確認虛假地址。

您可以將唯一ID放在用戶表的一列中,以確保用於激活帳戶的唯一唯一ID。

注意:另一種方法是從用戶標識和配置中的某個祕密(如sha1($userid . 'yourSecret'))創建激活標記。因此,您不需要存儲額外的數據,但不知道您的祕密就無法猜測此令牌。

0

這聽起來像它會正常工作。似乎現在的標準是一天。

+0

或者我可能會使用sha1散列來使它更安全? – einstein 2011-02-19 07:00:39

相關問題