【发布时间】:2017-11-07 12:09:35
【问题描述】:
我在使用 Codeigniter 3 时遇到问题,CKfinder 关于 CSRF 保护
如果我在我的 Codeigniter 配置文件中使用以下内容,CKFinder 图像上传工作正常
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = TRUE;
$config['csrf_exclude_uris'] = array();
如果我更改 $config['csrf_protection'] = TRUE; CKFinder 图片上传失败
我需要的是能够将 CKFinder 排除在 CSFR 保护之外 - 我尝试了以下方法,但似乎没有任何效果:
$config['csrf_exclude_uris'] = array('assets/plugins/ckfinder/.*+', 'assets/plugins/ckfinder/ckfinder.js', 'assets/plugins/ckfinder', 'admin/news/.*+');
任何指针将不胜感激
【问题讨论】:
-
您需要找到一种方法将 csrf 令牌与所有 ajax 一起发送,并在 ajax 响应后更新 html 端的 csrf 令牌。
-
你应该提到所有不应该检查 csrf 的 URI。它在浏览器调试控制台的网络选项卡中显示什么 URL?它将帮助您确定正确的 URI。
-
CKFinder $post 因操作而异。一个例子是:/assets/plugins/ckfinder/core/connector/php/connector.php?command=DeleteFiles&lang=en&type=Images¤tFolder=%2F&hash=91aa280181912a4c - 我需要能够排除:/assets/plugins/ckfinder/core /connector/php/* 但我不知道该怎么做?
-
试试
$config['csrf_exclude_uris'] = ['assets/plugins/ckfinder/.*?']; -
谢谢 - 但这没有用
标签: codeigniter csrf ckfinder