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
我一直在阅读有关 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