2017-08-13 184 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