2012-01-13 91 views
-2

我正在開發一個使用php的在線考試系統,我希望包含一個功能,任何想要參加考試的人都會提供一封電子郵件和一個唯一的url鏈接發送到他們的電子郵件。點擊鏈接後,用戶將登錄系統並進行測試。 url鏈接應該在考試完成後或者換句話說,只有在第一次點擊之後的固定時間內纔有效。基於URL鏈接的登錄

在這種情況下,我不需要用戶提供任何細節,除了他的電子郵件。

+1

具體是什麼問題?至於你現在只說明瞭你想要它做什麼,而不是你已經嘗試過並需要幫助。 – Marcus 2012-01-13 09:12:32

+0

我仍在探索實現此功能的最佳安全方法。 – Bazooka 2012-01-13 10:12:01

回答

0

使用像md5或sha1或類似的散列。當他們填寫表格時,您會將他們的記錄保存到具有記錄標識和地址的數據庫中。這個連接應該具有自己的記錄id的哈希值,這樣就可以輕鬆地查找記錄,當他們點擊鏈接:

$link = "http://somedomain.com/test?id=" . md5($recordid); 

然後處理鏈接時:

$hashId = $_REQUEST['id']; 
$sql = "SELECT * FROM users WHERE MD5(id) = '$hashId'";