gpt4 book ai didi

php - 无需表单验证的 Codeigniter csrf 保护

转载 作者:行者123 更新时间:2023-12-04 06:18:54 28 4
gpt4 key购买 nike

我在 Codeigniter 中启用了 csrf 保护。使用 form_open()我能够生成一个隐藏的 csrf 值,应该在我的 Controller 中进行验证。但是,我没有提交任何输入字段,而只是通过表单操作传递一个 url 参数。

在我的 Controller 中,我不需要设置验证规则,所以我有

function delete_post($post_id = '') //post id passed via 3rd URL segment
{
if (is_int($post_id) && valid_post($post_id)) //valid_post() returns true if post id exists
{
$this->Posts_model->delete_post_model($post_id);
redirect('site');
}
}

如果没有验证规则,Csrf 保护似乎不起作用。是否可以在不通过的情况下完成这项工作 post_id通过隐藏输入?

最佳答案

如您所见 in the code of the Security class ,CSRF 保护仅适用于 POST数据(表单验证实际上也适用于 POST 数据)。

您应该使用 CodeIgniter 方式并使用 POST要求。如果您使用 AJAX,只需更改 GETPOST ,如果您使用的是表单,请将方法设置为 post .如果您做不到,那么您将不得不与 CodeIgniter 核心代码作斗争,因此请尝试解释原因。 :)

关于php - 无需表单验证的 Codeigniter csrf 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862846/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com