[Ioncube 란?]
Ioncube Loader는 인코더로 암호화 된 소스를 실행하기 위한 프로그램입니다.
PHP는 스크립트 언어로 소스파일이 텍스트로 저장되어있어 내부의 중요정보를 쉽게 접근할 수 있는 단점이 존재합니다.
이러한 단점을 보완하기 위하여 암호화된 소스를 실행하기 위한 Ioncube라는 프로그램이 탄생하게 된겁니다.
또한 Ioncube는 PHP의 컴파일을 통해 실행속도를 증가시킨다는 장점이 있습니다.
[Ioncube 설치방법]
1. PHP가 설치되어있는지 확인합니다
1) PHP 설치확인
yum 설치 시
# rpm -qa |grep php
소스 설치 시
# /usr/local/php/bin/php -v
2) Apache의 mpm방식을 확인합니다
yum 설치 시
# http -V |grep -i mpm
소스 설치 시
# /usr/local/apache/bin/apachectl -V |grep -i mpm
Server MPM: prefork
→ Ioncube는 Apache mpm방식이 prefork에서만 가능하며, event 및 worker에서는 작동하지 않습니다.
2. Ioncube Loader 다운로드
1) Linux의 비트를 확인해봅니다.
# uname -r 또는 # arch
→ Ioncube는 32bits버전과 64bits버전을 따로 지원하기 때문에 다운로드 전에 해당 부분을 확인해야합니다.
2) Ioncube Loader 다운로드
https://www.ioncube.com/loaders.php 에서 다운로드가 가능합니다.
# pwd
/usr/local/src
# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
3) 압축 해제 후 확인
# tar -zvxf ioncube_loaders_lin_x86-64
# cd ioncube
# ls -l
total 25072
-rw-rw-r– 1 507 507 464240 Aug 31 21:24 ioncube_loader_lin_4.1.so
-rw-rw-r– 1 507 507 463792 Aug 31 21:24 ioncube_loader_lin_4.2.so
-rw-rw-r– 1 507 507 464496 Aug 31 21:25 ioncube_loader_lin_4.3.so
-rw-rw-r– 1 507 507 482736 Aug 31 21:25 ioncube_loader_lin_4.3_ts.so
-rw-rw-r– 1 507 507 467536 Aug 31 21:25 ioncube_loader_lin_4.4.so
-rw-rw-r– 1 507 507 486864 Aug 31 21:26 ioncube_loader_lin_4.4_ts.so
-rw-rw-r– 1 507 507 476592 Aug 31 21:26 ioncube_loader_lin_5.0.so
-rw-rw-r– 1 507 507 490096 Aug 31 21:27 ioncube_loader_lin_5.0_ts.so
-rw-rw-r– 1 507 507 1097936 Aug 31 21:28 ioncube_loader_lin_5.1.so
-rw-rw-r– 1 507 507 1137936 Aug 31 21:29 ioncube_loader_lin_5.1_ts.so
-rw-rw-r– 1 507 507 1137328 Aug 31 21:30 ioncube_loader_lin_5.2.so
-rw-rw-r– 1 507 507 1176688 Aug 31 21:31 ioncube_loader_lin_5.2_ts.so
-rw-rw-r– 1 507 507 1226968 Aug 31 21:32 ioncube_loader_lin_5.3.so
-rw-rw-r– 1 507 507 1283576 Aug 31 21:34 ioncube_loader_lin_5.3_ts.so
-rw-rw-r– 1 507 507 1500592 Aug 31 21:35 ioncube_loader_lin_5.4.so
-rw-rw-r– 1 507 507 1585840 Aug 31 21:37 ioncube_loader_lin_5.4_ts.so
-rw-rw-r– 1 507 507 1514512 Aug 31 21:38 ioncube_loader_lin_5.5.so
-rw-rw-r– 1 507 507 1596272 Aug 31 21:40 ioncube_loader_lin_5.5_ts.so
-rw-rw-r– 1 507 507 1479896 Aug 31 21:41 ioncube_loader_lin_5.6.so
-rw-rw-r– 1 507 507 1539928 Aug 31 21:42 ioncube_loader_lin_5.6_ts.so
-rw-rw-r– 1 507 507 1237352 Aug 31 21:43 ioncube_loader_lin_7.0.so
-rw-rw-r– 1 507 507 1294024 Aug 31 21:45 ioncube_loader_lin_7.0_ts.so
-rw-rw-r– 1 507 507 1328920 Aug 31 21:46 ioncube_loader_lin_7.1.so
-rw-rw-r– 1 507 507 1402680 Aug 31 21:48 ioncube_loader_lin_7.1_ts.so
-rw-r–r– 1 507 507 10768 Aug 3 02:12 LICENSE.txt
-rw-r–r– 1 507 507 181043 Aug 3 02:12 loader-wizard.php
-rw-r–r– 1 507 507 2195 Aug 3 02:12 README.txt
-rw-r–r– 1 507 507 71118 Aug 3 02:12 USER-GUIDE.pdf
-rw-r–r– 1 507 507 9269 Aug 3 02:12 USER-GUIDE.txt
3. php.ini 파일 설정 및 변경
1) ioncube의 php.ini파일을 열어줍니다.
yum 설치 시
# vi /etc/php.ini
소스 설치 시
# vi /usr/local/apache/conf/php.ini
2) 맨 아랫줄에에 아래의 내용을 추가해줍니다.
[Zend]
;zend_extension_ts=”usr/local/php/modules/ioncube_loader_lin_5.3_ts.so”
zend_extension=”/usr/local/php/modules/ioncube_loader_lin_5.3_ts.so”
zend_loader.enable = 1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
# /usr/local/apache/bin/php -v
(/php설치경로/bin/php -v)
PHP 5.3.21 (cli) (built: Sep 1 2017 13:01:49)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with the ionCube PHP Loader v10.0.1, Copyright (c) 2002-2017, by ionCube Ltd.
short_open_tag = On
date.timezone = “Asia/Seoul”
error_reporting = “E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_USER_DEPRECATED”