9. CKfinder.php 고찰
1) function CheckAuthentication()
ckfinder를 사용하기 위해 이 값을 true로 바꾸었다.
사실 이렇게 하면 아무나 내 서버에 파일을 마구 업로드를 할 수 있다.
그래서 아래와 같이 return true;를 인증된 사용자만 쓸 수 있도록 조건적으로 만들어야 한다.
return isset($_SESSION[IsAuthorized]) && $_SESSION[IsAuthorized];
session값을 가진 사람일 때 true값을 return한다.
2) ckfinder를 좀 더 구체적으로 알아보기
CKFinder는 CKEditor를 통해서 파일(일반 파일, 이미지, 플래쉬 파일)들을 업로드 할 수 있다.(일단 나는 php용을 사용한다.)
ckfinder/config.php의 내부.
<?php
function CheckAuthentication()
{
//session_start()를 맨 위에 넣고(여기서는 생략 함)
// return isset($_SESSION[IsAuthorized]) && $_SESSION[IsAuthorized];
// false를 true로 변경하여 upload 가능하도록 만든다.
return true;
}
//ckfinder 라이센스 버전인 경우 값을 넣으면 정품으로 변한다.
//https://huytq.me/tools/ckfinder-keygen.html 여기에 가면 되더라.
$config[LicenseName] = '';
$config[LicenseKey] = '';
// 호스트명을 뺀 url 상의 경로. 즉 root바로 아래에 있는 경로다.
$baseUrl = /phpTest/data/upload/; //이걸 유동적으로 만들려고 연구 중임.
// 파일 시스템 상의 절대 경로를 나타낸다고 함.
$baseDir = resolveUrl($baseUrl);
$config[Thumbnails] = Array(
//_thumbs라는 썸네일 이미지용 폴더가 생긴다.
url => $baseUrl . _thumbs,
directory => $baseDir . _thumbs,
enabled => true,
directAccess => false,
maxWidth => 100,
maxHeight => 100,
bmpSupported => false,
quality => 80);
$config[RoleSessionVar] = CKFinder_UserRole;
$config[AccessControl][] = Array(
role => *,
resourceType => *,
folder => /,
folderView => true,
folderCreate => true,
folderRename => true,
folderDelete => true,
fileView => true,
fileUpload => true,
fileRename => true,
fileDelete => true);
$config[AccessControl][] = Array(
role => *,
resourceType => Images,
folder => /Logos,
folderView => true,
folderCreate => true,
folderRename => true,
folderDelete => true,
fileView => true,
fileUpload => false,
fileRename => false,
fileDelete => false);
$config[DefaultResourceTypes] = ;
// 업로드될 일반 파일들에 대한 설정..
// url 키에 값으로 $baseUrl .files를
// directory 키에 값으로 $baseDir.files로 설정되어 있는 관계로
// $baseDir에 하위에 files 디렉토리가 있어야 한다.
// 또한 files는 chmod 777 권한이어야 한다.
// 이 경로를 바꾸려면 이 두 값을 바꾼다.
// maxSize 키 값이 0으로 되어 있는데 이것은 업로드될 파일의 크기를 나타낸다.
// 원하는 값으로 바꾸면 됨.
//bytes, K, M, G 등으로 그 크기를 정할 수 있다고 하는데 잘 안 되네...
// allowExtensions : 업로드 허용 가능한 확장자입니다.
// deniedExtensions : 업로드 불가능한 확장자입니다.
$config[ResourceType][] = Array(
name => Files, // Single quotes not allowed
url => $baseUrl . files,
directory => $baseDir . files,
maxSize => 0,
allowedExtensions => 7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip,
deniedExtensions => );
//위의 File과 동일하지만 이곳은 이미지와 관계된 것들.
$config[ResourceType][] = Array(
name => Images,
url => $baseUrl . images,
directory => $baseDir . images,
maxSize => "16M",
allowedExtensions => bmp,gif,jpeg,jpg,png,avi,iso,mp3,
deniedExtensions => );
// 마찬가지로 위의 File과 동일하지만 플래시와 관계된 것들.
$config[ResourceType][] = Array(
name => Flash,
url => $baseUrl . flash,
directory => $baseDir . flash,
maxSize => 0,
allowedExtensions => swf,flv,
deniedExtensions => );
// 아래는 그냥 기본 값.
$config[CheckDoubleExtension] = true;
$config[FilesystemEncoding] = UTF-8;
$config[SecureImageUploads] = true;
$config[CheckSizeAfterScaling] = true;
$config[HtmlExtensions] = array(html, htm, xml, js);
$config[HideFolders] = Array(".svn", "CVS");
$config[HideFiles] = Array(".*");
$config[ChmodFiles] = 0777 ;
$config[ChmodFolders] = 0755 ;
$config[ForceAscii] = false;
include_once "plugins/imageresize/plugin.php";
include_once "plugins/fileeditor/plugin.php";
$config[plugin_imageresize][smallThumb] = 90x90;
$config[plugin_imageresize][mediumThumb] = 120x120;
$config[plugin_imageresize][largeThumb] = 180x180;
'COMPUTER > WEB PAGE 꾸미기' 카테고리의 다른 글
8. ckeditor에 plugins 추가하기 (add-on, customizing) (0) | 2017.04.08 |
---|---|
7. ckfinder를 사용한 이미지 업로드 (1) | 2017.04.05 |
6. CKEditor 이미지 업로드기능(PHP) 추가 (2) | 2017.04.02 |
5. ckeditor Custom config. (0) | 2017.03.31 |
4.ckeditor 기타 설정. (크기, 플러그인, 스킨, 줄 간격, 변수저장 등) (0) | 2017.03.31 |