【问题标题】:CodeIgniter Error: "The action you have requested is not allowed."CodeIgniter 错误:“您请求的操作是不允许的。”
【发布时间】:2016-04-03 04:41:42
【问题描述】:

在我的申请中,我在http://www.example.com 中有一个联系我们的表格。如果我从网址中的 www.example.com 发送,则提交表单。如果我在 url 中从 example.com 发送表单,则表单给我一个错误:“不允许您请求的操作。”

我认为问题是因为我在 codeigniter 配置文件中启用了 csrf 保护。当我将其设置为 false 时,它​​工作正常。启用 csrf 保护后如何解决此问题。

提前致谢!

【问题讨论】:

  • 您能否解释一下为什么在您的用例中需要 CSRF 保护?也许这已经回答了这个问题。

标签: php codeigniter


【解决方案1】:

在你的表单中试试这个:

<input type="hidden" name="csrf_hash_name" value="your-hash-value-here">

【讨论】:

    【解决方案2】:

    只需将这行代码放在表单中即可解决此问题。

    <input type="hidden" name="<?php echo $this->security->get_csrf_token_name(); ?>" value="<?php echo $this->security->get_csrf_hash(); ?>">
    

    【讨论】:

    • 感谢您的回答!我应该启用 csrf 还是禁用它
    • 现在你可以启用它了
    • 它不起作用。它给了我同样的错误。我之前使用了 form_open() 以便上面的代码行会自动生成。
    • 你确定我会这样做
    • 真的很抱歉!我将使用所有表单代码编辑帖子。这样您就可以轻松发现问题。
    猜你喜欢
    • 2014-02-08
    • 2017-03-21
    • 2012-05-10
    • 2018-01-24
    • 2018-03-16
    • 2017-05-14
    • 2023-03-10
    • 2016-07-25
    • 2019-09-13
    相关资源
    最近更新 更多