私は現在、CodeIgniterで開発プロジェクトを開始するためにローカル(myhostname.local)で作業しています。単純なログインフォームの送信を試みており、CSRF保護が機能していません。私は2.0.2 CodeIgniter CSRFとlocalhost
- :
An Error Was Encountered
The action you have requested is not allowed.物事のカップルは注意する:私はエラーを取得します
マイ形式:
<?=form_open('home/login');?>
... username/password fields in here ...
<?=form_close();>
私のコントローラ:
public function login()
{
$this->form_validation->set_rules('email','Email','trim|required');
$this->form_validation->set_rules('password','Password','required');
if($this->form_validation->run() === FALSE)
{
... form did not pass validation ...
}
else
{
... form passed ...
}
}
私はhttp://myhostname.local/home/loginにフォームを送信すると、私は上記のエラーを取得します。
これがなぜ起こっているのかについての助けを非常に感謝します。
ありがとうございます! Sean
これは、一度に一度だけ発生するのですか、時にはのみか、検証の失敗後にのみ発生しますか?また、あなたはそれがローカルホストだと確信していますか?これはライブサーバー上で動作しますか? –
毎回発生します。私はライブサーバー上でそれをテストしていません。私はそれを行い、あなたに知らせるでしょう。 – seangates
これは、特に「CodeIgniter CSRF and localhost」というタイトルのため、設定されていないクッキーと関係しているかもしれません。クッキーを設定して読むことができますか? htmlソースにもCSRFトークンがあることを完全に確認してください。私はそれがダムに聞こえることは知っていますが、最も簡単なものを最初にチェックするのは良いことです。 –