我正在使用CakePHP,我想用URL中的密钥来验证我的用户如/blog/users/login/key => /blog/users/login/FGHDFgFDg
我知道这并不安全,除了我的需要,一切都必须这样做。
你知道我怎样才能做到这一点吗?
查看我的Qlogins:http://www.dereuromark.de/2012/02/08/qlogin-quicklogins-fur-cakephp/
他们提供你想要的东西。只要电子邮件不能被拦截并且你使用https,它就可以被认为是安全的。此外,令牌应该只有效一次。不过,默认值是"随心所欲"。记住这一点。
我用它来发送电子邮件(到登录后的特定内容),以便快速跳转到。如果用户总是必须登录,大多数人都不会去那里。我不知道你的用例是什么。
在UsersController.php
:中
class UsersController extends AppController {
function login($key = null) {
$user = $this->User->find('first', array(
'conditions' => array(
'key' => $key // replace 'key' with your column that stores the key
)
));
if ($user != null) {
$this->Auth->login($user);
$this->redirect('/users/home');
}
}
}