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

CSRF在codeigniter中工作不正常

谭玄天
2023-03-14

我正在使用CodeIgniter3.0。6.目前正在一页网站上工作,该网站具有搜索功能。我在codeigniter的配置文件中启用了csrf_保护选项,并使用form_open()函数创建表单。

当我按下submit按钮时,搜索功能运行良好,但在提交表单后,当我刷新页面时(使用任何刷新页面的功能,如从keybord或浏览器刷新),CSRF不工作,并显示错误“您请求的操作不允许”。

注意:我使用post方法提交表格

共有1个答案

端木夕
2023-03-14

问题在于$config['csrf\u regenerate']=TRUE 将其改为FALSE。

如果为TRUE,则每次发布到服务器时,CSRF令牌都会更改值。必须完全重新加载页面才能接收新令牌。后退按钮不会完全重新加载页面,但浏览器的刷新/重新加载按钮会。

 类似资料:
  • 我只想在我的几个控制器中打开csrf保护,所以我有 但它似乎不起作用,尽管当我在页面上执行var_dump($this->config)时,它显示csrf_protection为TRUE,但未设置cookie,并且表单有一个没有值的隐藏字段 Csrf令牌名称和cookie名称都已设置,表单使用form_open()调用。 任何帮助都将不胜感激。 更新:因此从版本2.1.1开始,这是不可能的,因为安

  • 问题内容: 最近,我发现了有关CSRF攻击的信息,并很高兴发现Codeigniter v 2.0.0中添加了CSRF保护。 我启用了该功能,并看到在表单中添加了带有令牌的隐藏输入,并且我假设它也在会话中存储了令牌。在POST请求中,CI是否会自动比较令牌,还是必须手动进行比较? 问题答案: 仅当使用此功能时,CSRF令牌才作为隐藏输入添加到表单中。 由Security类创建具有CSRF令牌值的co

  • 我不知道Codeigniter中会话的实际错误是什么。我的另一个项目很好地使用了这段代码。但在这种情况下,我遇到了问题。 对于登录会话,我的代码是: 我将会话检查为: 在进入控制器之前,我会像上面一样检查会话,如果会话不正确,则重定向到登录页面。 注销: 但是上面的代码不适合我。当我注销时,页面被成功地重定向到注销页面,但是会话没有被破坏,因为我可以访问需要会话设置的所有页面。请帮帮我。 我有一个

  • 问题内容: 我有这样的计划工作: 如果我在终端中运行它,它将运行,但是什么也不输出。如果我传递了错误的方法名称,它将成功运行。如果我传递了错误的类名,则会输出网站404错误。 我也有一个将“ en”添加到URL中的路由,例如 这可能是问题吗? 我的config.php设置是: 问题答案: 通过CLI(命令行界面)为cron- jobs准备CodeIgniter 2.x的步骤: 1: 创建根文件的副

  • 所以,我有一个RDD,它有如下键值对。 在groupByKey之后,我希望得到这样的东西 然而,我发现即使在执行groupByKey()之后,也会重复相同的键。键值对的总数肯定会减少,但仍然有许多重复的键。有什么问题吗? 键的类型基本上是一个Java类,其中包含整数类型的字段。火花是否也在考虑对象字段以外的东西来识别这些对象?

  • 问题内容: 在ajax中使用base_url()从codeigniter项目中获取数据库。给定的base_url就像http://domainname.com。很好 如果我可以在地址栏中输入http://www.domainname.com之类的网址,则无法正常工作。该代码是 请帮助解决此问题。谢谢 问题答案: 我认为最好的解决方案是: 只需在HTML的标头部分中添加以下脚本即可。 然后在您的Aj