2017-08-13 17 views
0

私はcodeigniterのcrsf保護について読んできましたが、設定ファイルでcsrfを有効にした後の進め方についてはまともなチュートリアルが見つからないようです。CSRF Codeigniter 3検証

私はコントローラの機能users/createによって生成されたフォームを持っていて、別の関数users/submit_newに送信しています。

crsfフィールドが自動的に生成されるように、フォームヘルパークラスを使用しました。

私が提出機能上のこの検証機能があります。

if ($this->input->post(get_csrf_token_name()) == get_csrf_hash()) { 
$this->users_model->create(); } 

をしかし、私が得るすべてはエラーが許可されていないアクションです。 csrfを検証する正しい方法は何ですか?または私は何か間違っているのですか?

答えて

0

あなたが設定することで、CodeIgniterのCSRFにユーザーガイドが言及方法を使用している場合:

$config['csrf_protection'] = TRUE; // this in application/config/config.php 

をそして、あなたはまた、あなたがチェックする必要はありません、フォームのオープンタグを生成するためのフォームヘルパーを使用していますあなたがやっているやり方でトークンとハッシュのために。 CodeIgniterがこれを行います。

ドキュメントを読む:https://www.codeigniter.com/user_guide/libraries/security.html#cross-site-request-forgery-csrf

それでも問題が解決しない場合は、関連の質問を参照してください。

codeigniter CSRF error: "The action you have requested is not allowed."

Action you have requested is not allowed error

関連する問題