我正在codeigniter框架中使用CSRF进行文件上传。代码在localhost中工作正常,但在服务器上不工作。每当我试图选择图像/文件上传并提交表格时,它显示CSRF“请求不允许错误”,当在没有选择图像/文件的情况下提交表格时,它工作正常。我已经在配置文件中设置了$config['cookie_secure'] = FALSE;
$config['cookie_secure'] = FALSE;
gmxoilav1#
转到application/config/config.php文件并检查$config['csrf_protection']是true还是false。如果它$config['csrf_protection'] = TRUE;使它$config['csrf_protection'] = FALSE;。希望这能解决你的问题。
application/config/config.php
$config['csrf_protection']
true
false
$config['csrf_protection'] = TRUE;
$config['csrf_protection'] = FALSE;
yrefmtwq2#
要在CodeIgniter中使用CSRF,您需要交叉检查这些点1.启用$config['csrf_protection'] = TRUE;1.加载表单帮助程序库$this->load->helper('form');1.使用form_open()标记打开表单,这将自动在表单中包含CSRF标记,或者您必须在表单中添加csrf标记。
$this->load->helper('form');
xa9qqrwz3#
我挣扎着这个同样的问题,如果你还没有找到一个解决方案或其他人寻找一个解决方案。我发现这对我有用。您需要将该路由添加到application/config文件夹中的配置文件中$配置['csrf_exclude_uris']= '您的控制器/函数'];我发现,当我保持CSRF启用,但上传继续失败,甚至当我使用的形式_开放_multipart从形式助手库。一旦我添加了上面的代码片段,问题就不复存在了。当你处理上传时,你要非常具体,因为这是已知的最大的攻击方法,但这也是另一个主题。
3条答案
按热度按时间gmxoilav1#
转到
application/config/config.php
文件并检查$config['csrf_protection']
是true
还是false
。如果它
$config['csrf_protection'] = TRUE;
使它$config['csrf_protection'] = FALSE;
。希望这能解决你的问题。
yrefmtwq2#
要在CodeIgniter中使用CSRF,您需要交叉检查这些点
1.启用
$config['csrf_protection'] = TRUE;
1.加载表单帮助程序库
$this->load->helper('form');
1.使用form_open()标记打开表单,这将自动在表单中包含CSRF标记,或者您必须在表单中添加csrf标记。
xa9qqrwz3#
我挣扎着这个同样的问题,如果你还没有找到一个解决方案或其他人寻找一个解决方案。我发现这对我有用。
您需要将该路由添加到application/config文件夹中的配置文件中
$配置['csrf_exclude_uris']= '您的控制器/函数'];
我发现,当我保持CSRF启用,但上传继续失败,甚至当我使用的形式_开放_multipart从形式助手库。
一旦我添加了上面的代码片段,问题就不复存在了。
当你处理上传时,你要非常具体,因为这是已知的最大的攻击方法,但这也是另一个主题。