XE

[XE] elFinderXE 모듈

Posted 2013. 02. 26 Updated 2019. 10. 14 Views 14162 Replies 24
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

[2014.1.24]

- XE 1.7에서도 동작 가능하도록 수정하였습니다.




elFinderXE.png

XE 모듈 첫 작품으로 웹 기반 파일 매니저인 elFinder를 XE에서 모듈로 손쉽게 생성하여 사용할 수 있도록 만들어 보았습니다.

'개인용도로 사용할 웹 기반 FTP 사진첩이나 만들어봐야겠다.' 라고 오래전부터 생각해오고 구상만 해오던던 것이 elFinder라는 녀석을 발견하고 나서 급물살을 타게 되었네요.. ㅡㅡㅋ

elFinder라 함은 http://elfinder.org에서 자세한 정보를 얻으실 수 있으며, 요약하면 PHP, jQuery를 핵심으로 한 웹 기반 파일매니저 입니다.

이번에 제작한 모듈에서는 구현되지 않았지만, 실제 elFinder 내부에는 FTP나 DB로 통신을 하는 기능까지 내장하고 있습니다. 정말 많은 기능이 내장되어 있고, 그것들 세세하게 다 설정하면 정말 '웹 브라우저에서 돌아가는 윈도탐색기'로 사용할 수 있을 정도입니다.

물론 설정할 수 있는 옵션중에 별로 중요하지 않은 것들도 많이 있으므로 그것들은 과감하게 제거하고 꼭 필요한 옵션들만 추려서 XE모듈 형식으로 사용할 수 있게 구성하였습니다.

elFinderXEXE 1.5.x 버전을 기준으로 만들어졌으며,
2012년 4월 10일에 릴리즈된 elFinder 2.0 rc1 버전을 내장하고 있습니다.
(실제 구동 부분은 XE와 무관하므로 다른 버전에서도 잘 동작 할것입니다.. 아마^^)

본래 elFinder패키지에는 한글 언어팩이 포함되어 있지 않지만, 이번에 모듈로 만들면서 직접 한글화 작업을 진행하였습니다. (보편적으로 사용되는 용어를 고르기 위해 많은 고민을 했...)


[!] elFinderXE 모듈은 웹상에서 서버의 파일들을 직접 조작하는 기능을 지원합니다. 모듈 상세 설정이나, 특히 권한 설정을 올바르게 하지 않으면 보안상의 심각한 문제를 유발할 수 있으므로, 반드시 본 메뉴얼을 끝까지 읽고 사용해 주시기 바랍니다.


라이센스

elFinderXE는 GPL v2 라이센스를 적용하며, 내장된 elFinder 패키지는 Free BSD 라이센스로 배포되었습니다. 상세 내용은 파일 내에 포함된 라이센스 정보 파일을 확인하세요.
(사실 저는 라이센스에 대해서 잘 모릅니다..ㄱ= 그냥 GPL v2 많이들 쓰시길레 저도 ☞☜)



elFinderXE 주요 기능


elfinderxe1.png
▲ elFinderXE


elfinderxe2.png
▲ 그림파일 미리보기(...는 기본이죠?^^)


elfinderxe3.png
▲ 텍스트 파일을 생성하고, 이렇게 직접 편집할 수 있습니다.


elfinderxe4.png
elfinderxe5.png
▲ 간단히 드래그&드롭으로 파일을 업로드 할 수 있습니다.


elfinderxe6.png
▲ 그림파일 크기조절, 자르기 및 기울이기 편집을 할 수 있습니다.


elfinderxe7.png
▲ 탐색기에서와 똑같이 마우스 클릭만으로 파일/폴더를 압축 하거나 풀 수 있습니다.
(설치되어 있는 PHP 압축 모듈에 따라 TAR/GZIP/BZIP/ZIP/RAR/7z 형식을 지원합니다.)


elfinderxe8.png
▲ 파일 통합검색을 할 수 있습니다. (단, 폴더별 검색은 지원하지 않습니다.)


hotkey.png
(저는 별로 많이 사용할 것 같지 않지만) 단축키 기능도 지원하고 있습니다.


헌데, 파일을 구분없이 다 보여주면 보안이 너무 취약할 것 같다구요?


security1.png
▲ 환경설정에서 이렇게 확장자 필터를 적용하면..


security2.png
▲ 이렇게 지정된 확장자의 파일만 표시됩니다.
(단순히 목록에만 보이지 않는것이 아니라, 서버단에서 필터링되어 전달됩니다.)


security3.png
▲ 허용되지 않은 파일 형식은 업로드도 할 수 없습니다.


security4.png
▲ 확장자 바꿔치기(?) 수법도 통하지 않습니다.ㅎㅎ




이게 다가 아닙니다. 바로...


mobile1.png mobile2.png
모바일에서도 이렇게 파일을 업로드 및 다운로드할 수 있습니다.



elFinderXE 환경설정

상세 설정

환경설정을 할 때 별도의 설명이 필요 없도록 자세한 설명을 달아 놓았습니다.

setup1.png


권한 설정

회원 권한에 따른 파일관리기의 허용 가능 명령을 세세하게 지정할 수 있습니다.

각 권한을 '허용하지 않음'으로 놓으면 클라이언트단뿐만 아니라 서버단에서도 해당 명령을 사용할 수 없도록 차단하는 방식으로 설계되었습니다.

setup2.png



디렉토리 권한설정(중요)

'루트 디렉토리'로 지정된 디렉토리는 읽기 및 쓰기가 가능하도록 권한이 설정되어 있어야 elFinderXE가 정상적으로 동작합니다. 서버 환경에 따라 루트 디렉토리의 소유 및 그룹을 www-data로 지정해야 쓰기가 가능한 경우도 있으니, 세팅에 참조하시기 바랍니다.



주의 사항

루트 디렉토리 내부에 심볼릭 링크(Symbolic link)가 존재하는 경우 사용자가 의도하지 않은 디렉토리로 접근할 수 있습니다. 웹 기반으로 동작하는 '강력한' 파일 관리기인 만큼, 보안에 신경을 써서 사용하셔야 합니다.

특히, 루트 디렉토리를 웹서버 루트로 지정하지 않도록 주의하시기 바랍니다. 확장자 필터가 적용되지 않은 경우 서버 내부의 파일에 모두 접근할 수 있으며, 특히 환경설정 PHP 파일등에 접근하여 DB 접속정보 등이 유출될 수 있습니다.

→ 루트 디렉토리 내부에 별도의 전용 디렉토리를 따로 생성하여 사용하도록 합니다. (예: ./ftp/)


elFinderXE 다운로드


TAG •