如果我从CodeIgniter表单复制csrf令牌,则表单成功提交

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果我从CodeIgniter表单复制csrf令牌,则表单成功提交相关的知识,希望对你有一定的参考价值。

在codeigniter中,我在config.php文件中使用$config['csrf_protection'] = TRUE;启用了csrf保护。令牌在表单中成功生成,并且在服务器中检查它是否也正常工作。但我的问题是使用Chrome检查我是复制整个表单还复制令牌所以表单看起来像:

<form action="http://localhost/Dropbox/project/admin/login/ajax_login" method="post">
    <input type="text" name="email" value="adasd">
    <input type="password" name="_password">
    <input type="hidden" name="csrf_test_name" value="cdff17389652a056eee94473661478f3">
    <input type="submit">
</form>

我提交此表格的项目已成功提交一次。第二次给出错误。我是复制新令牌并再试一次它正在工作1次。它工作一次通常是行为或我在csrf令牌设置上遗漏了一些东西。

答案

这是一种预期的行为

如果你想改变它只是尝试更改您的配置文件

$config['csrf_regenerate'] = false;

Codeigniter.com上有一位出色的指南,可以帮助解决这些问题。

只需看看documentation

以上是关于如果我从CodeIgniter表单复制csrf令牌,则表单成功提交的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter 4 在 AJAX 模式中重用 CSRF 令牌

Codeigniter CSRF - 它是如何工作的

在没有表格的情况下获取 Codeigniter CSRF 令牌?

Codeigniter CSRF - 它是如何工作的

一个令牌与多个令牌以防止 CSRF 攻击

如何在 VueJS 文件中添加 Laravel CSRF 令牌? [复制]