2011-07-08 79 views
0

我正在開發Codeigniter並使用類似的模型來處理亞馬遜的密碼重置:用戶單擊我通過電子郵件發送的鏈接並導致啓動相應視圖的控制器。不過,由於安全原因,我需要將一些令牌附加到uri的末尾。我在哪裏截取Codeigniter中的uri以刪除令牌?我將不勝感激代碼片段,演示了這一點。 非常感謝提前。解析URL的密碼重置代碼示例請求

回答

1

您可以發送類似www.yousite.com/index.php/password/reset/116wef4wef4325w6e4

的URL在你的控制器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個參數,在這種情況下爲「重置」和「令牌」。或者你也可以使用自定義路線。如果您提供這些信息,我可能會幫助更新我的代碼建議。

+0

非常感謝。這正是我需要的信息。 –

+0

@Usplitu John很高興幫助!如果你發現它解決了你的問題,你可以將答案標記爲「接受」(使用粗體標記)。謝謝,如果您有任何問題,請提問 –