2011-07-08 5 views
0

私はCodeigniterを開発し、Amazonと同様のモデルを使用してパスワードをリセットしています。ユーザーがメールを送信したリンクをクリックすると、適切なビューが起動します。しかし、セキュリティ上の理由から、私はいくつかのトークンをURIの最後に付ける必要があります。トークンを削除するためにCodeigniter内のURIをどこで傍受しますか?私はこれを実証するコードスニペットに感謝します。 事前に感謝します。パスワードリセットコードの例URLの解析

答えて

1

あなたが持っているpassword.phpあなたのコントローラでwww.yousite.com/index.php/password/reset/116wef4wef4325w6e4

のようにURLを送信することができます:私はあなたがあなたのアプリケーションが構成されている方法上の任意の情報を提供didntの

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 Glad!そして、それがあなたの問題を解決したと分かったら、答えを「受け入れられた」(太い印を使って)とマークすることができます。ありがとう、何か問題がある場合は尋ねる –