CSRF Codeigniter 3 验证

CSRF Codeigniter 3 Validation

我一直在阅读有关 codeigniter 中的 crsf 保护的信息,但我似乎找不到关于如何在配置文件中启用 csrf 后继续进行的合适教程。

我有一个由控制器函数 users/create 生成的表单,它提交给另一个函数 users/submit_new

我使用了表单助手 class 以便自动生成 crsf 字段。

我在提交函数上有这个验证函数:

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

但我得到的只是 不允许操作 错误。 验证 csrf 的正确方法是什么?还是我做错了什么?

如果您按照用户指南中提到的方式使用 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