0

我正在使用 Codeigniter 进行开发,并使用与 Amazon 类似的模型进行密码重置:用户单击我通过电子邮件发送的链接,这将进入启动适当视图的控制器。但是,出于安全原因,我需要将一些令牌附加到 uri 的末尾。我在哪里拦截 Codeigniter 中的 uri 以删除令牌?我将不胜感激演示这一点的代码片段。提前谢谢了。

4

1 回答 1

1

您可以发送一个网址,例如 www.yousite.com/index.php/password/reset/116wef4wef4325w6e4

在您的控制器 password.php 中,您有:

class Password extends CI_Controller {

function reset($token)
{
  if(isset($token) AND $token != '')
  {
    $retrived_token = $token; //it's automatically passed by CI to this method.
    //It would output 116wef4wef4325w6e4
    //you may do some validation of it through a model here.
    //ex. if($this->mymodel->validate_token($retrieved_token)
    //{ do something } else { }
  }
}

}

您没有提供有关您的应用程序结构的任何信息,所以我只是猜测您可能有一个仅用于处理密码的控制器。如果不是这种情况,您可以在父控制器中使用“密码”方法,该方法又接受 2 个参数,在本例中为“重置”和“令牌”。或者您可以使用自定义路线。如果您提供此信息,我可能会帮助更新我的代码建议。

于 2011-07-08T08:28:16.790 回答