基于URL链接的登录

时间:2012-01-13 09:11:18

标签: php url login authentication

我正在开发一个使用php的在线考试系统,我希望合并一个功能,任何打算参加考试的人都会发送一封电子邮件,并将一个独特的网址链接发送到他们的电子邮箱。点击链接后,用户应登录系统并进行测试。在完成考试的持续时间后,网址链接应该过期,或者换句话说,链接应该在首次单击后仅在固定的持续时间内处于活动状态。

在这种情况下,我不要求用户提供除他的电子邮件之外的任何细节。

1 个答案:

答案 0 :(得分:0)

使用像md5或sha1之类的哈希或类似的东西。当他们填写表格时,您会将他们的记录保存到具有记录ID和地址的数据库中。该链接应具有其记录ID的哈希值,以便您在单击链接时可以轻松查找记录:

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

然后在处理链接时:

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