我正在尝试将ckfinder与ckeditor集成。一切都很好,除了一个问题。当我尝试上传图片时,会出现以下错误(请查看图片)
它说:“出于安全原因,文件浏览器被禁用。请联系系统管理员并检查CKFinder配置文件。”
有谁能帮助我吗?拜托了。
打开 ckFinder config
文件,你会看到一个类似于这样的函数:
function CheckAuthentication()
{
return false;
}
CheckAuthentication()
是被禁用的,因为它会允许任何人上传文件到您的服务器。
为了测试目的,您可以返回true
,但重点是您需要实现一些逻辑来仅授权已验证的用户。
function CheckAuthentication()
{
//put some logic here
return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized'];
}
if(login()){
set_cookie('ckf_role','admin',2592000*10); // 10 month
}
顶部:
$config['authentication'] = function() {
return true;
};
中间:
session_start();
$config['roleSessionVar'] = 'CKFinder_UserRole';
$_SESSION['CKFinder_UserRole'] = !empty($_COOKIE['ckf_role']) ? strtolower($_COOKIE['ckf_role']) : "guest";
$config['accessControl'][] = array(
'role' => 'guest',
'resourceType' => '*',
'folder' => '/',
'FOLDER_VIEW' => false,
'FOLDER_CREATE' => false,
'FOLDER_RENAME' => false,
'FOLDER_DELETE' => false,
'FILE_VIEW' => false,
'FILE_UPLOAD' => false,
'FILE_RENAME' => false,
'FILE_DELETE' => false,
'IMAGE_RESIZE' => false,
'IMAGE_RESIZE_CUSTOM' => false
);
$config['accessControl'][] = array(
'role' => 'admin',
'resourceType' => '*',
'folder' => '/',
'FOLDER_VIEW' => true,
'FOLDER_CREATE' => true,
'FOLDER_RENAME' => true,
'FOLDER_DELETE' => true,
'FILE_VIEW' => true,
'FILE_UPLOAD' => true,
'FILE_RENAME' => true,
'FILE_DELETE' => true,
'IMAGE_RESIZE' => true,
'IMAGE_RESIZE_CUSTOM' => true
);