在服务器上启用CSRF的情况下,codeigniter中的文件上传问题

idfiyjo8  于 2023-03-10  发布在  其他
关注(0)|答案(3)|浏览(142)

我正在codeigniter框架中使用CSRF进行文件上传。代码在localhost中工作正常,但在服务器上不工作。
每当我试图选择图像/文件上传并提交表格时,它显示CSRF“请求不允许错误”,当在没有选择图像/文件的情况下提交表格时,它工作正常。
我已经在配置文件中设置了$config['cookie_secure'] = FALSE;

gmxoilav

gmxoilav1#

转到application/config/config.php文件并检查$config['csrf_protection']true还是false
如果它$config['csrf_protection'] = TRUE;使它$config['csrf_protection'] = FALSE;
希望这能解决你的问题。

yrefmtwq

yrefmtwq2#

要在CodeIgniter中使用CSRF,您需要交叉检查这些点
1.启用$config['csrf_protection'] = TRUE;
1.加载表单帮助程序库$this->load->helper('form');
1.使用form_open()标记打开表单,这将自动在表单中包含CSRF标记,或者您必须在表单中添加csrf标记。

xa9qqrwz

xa9qqrwz3#

我挣扎着这个同样的问题,如果你还没有找到一个解决方案或其他人寻找一个解决方案。我发现这对我有用。
您需要将该路由添加到application/config文件夹中的配置文件中
$配置['csrf_exclude_uris']= '您的控制器/函数'];
我发现,当我保持CSRF启用,但上传继续失败,甚至当我使用的形式_开放_multipart从形式助手库。
一旦我添加了上面的代码片段,问题就不复存在了。
当你处理上传时,你要非常具体,因为这是已知的最大的攻击方法,但这也是另一个主题。

相关问题