当前位置: 首页 > 知识库问答 >
问题:

CSRF编码点火器3验证

吕俊才
2023-03-14

我一直在阅读codeigniter中的crsf保护,但是我似乎找不到一个像样的教程,说明在配置文件中启用csrf后如何继续。

我有一个由控制器函数用户/创建生成的表单,它提交给另一个函数用户/submit_new

我使用了form helper类,以便自动生成crsf字段。

我在提交功能上有这个验证功能:

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

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

共有1个答案

薛坚
2023-03-14

如果您按照用户指南中提到的方式使用CodeIgniter CSRF,请设置:

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

您还使用表单助手来生成表单打开标记,这样您就不需要检查令牌并按照您的方式进行散列。CodeIgniter为您做这件事。

阅读文档:https://www.codeigniter.com/user_guide/libraries/security.html#cross-站点请求伪造csrf

如果您仍然有问题,请参阅相关问题:

Codeigniter CSRF错误:"您请求的操作不允许。"

您请求的操作不允许出错

 类似资料:
  • 我使用fineuploader和codeigniter。为了使上传更加安全,我想在配置中启用codeigniter提供的CSRF保护。现在,当使用codeigniter的表单助手时,它会自动向表单添加隐藏字段。 然而,我不知道如何使用fineuploader实现这一点,因为我这里没有可见的表单。有什么建议吗?

  • //控制器 函数搜索($search=0){ } //模型函数search_employee($search ch雇员){$sql="选择清空代码,名称来自spmm_employee_info其中名称 '%" . $search ch雇员 . "%'"; $查询=$this- 当我尝试搜索并单击另一个页面时,它会显示表spmm_employee_info上的所有数据。所有我想要的是显示所有与搜索相

  • 我用的是Phil Sturgeon的 KEYS如何工作?有一个名为KEYS的表定义如下: 在名为KEYS的类中有如下方法: 由于这个软件包并没有很好的文档记录,而且我是API新手,所以上面的工作原理是什么?例如,我是否生成一个密钥并将其永久插入数据库。为什么会有删除方法? 从我的阅读资料来看,这听起来像是我为应用程序生成了一个初始的X-API-KEY,然后当客户端使用资源时,我会使用KEYS类将X

  • 我从Nginx得到了这个错误,但似乎无法解决它!我正在使用codeigniter,并正在使用数据库进行会话。所以我想知道头怎么会太大。是否无论如何都要检查标题是什么?或者看看我能做些什么来修复这个错误? 现在我仍然得到以下内容:

  • 我正在尝试使用带有CodeIgniter的函数insert_batch插入来自表单as数组的一些值。 这是控制器中的代码: 这是模型插入\数量\产品中的代码 这是数据库错误 未知列应为quantity、price和productID 我做错了什么?

  • 我想从下拉菜单中选择一个产品类别选项,并显示具有该特定类别的产品。 以下是我认为的形式部分: 正如您所看到的,我通过onchange=“this.form.submit();(如果这不是一个好主意,请建议其他方法,我只是不想使用ajax,因为我还不太擅长它,不管怎样,建议更好的方法)。 然后在我的控制器中,我得到这个选项,并将其转换为数组,在我的模型中使用它。 控制器部分: 我的模型: 在这里我没