PHP 8.0 에서 SCREWIM 을 이용한 소스 암호화
DB 접속 정보가 들어있는 파일이 노출될 우려가 있어 많은 개발자들이 암호화 방법을 찾고 있습니다.
검색해보면 상용 프로그램 또는 난독화, 무료 암호화 프로그램이 몇 개 있으나
여기에서는 김정균님이 만드신 screw 개선 버전 screwim 을 소개합니다.
아래 내용은 CentOS 7, PHP 8.0 소스설치 환경에서 테스트 했으며,
페이지 하단 출처의 내용을 요약하였습니다.
1. 다운로드
# cd /usr/local/src
# git clone https://github.com/OOPS-ORG-PHP/mod_screwim.git
# cd mod_screwim
# /usr/local/php/bin/phpize
2. PHP 확장 모듈 생성하기
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make install
php.ini 에 아래 내용 추가
# vi /usr/local/apache/conf/php.ini
extension = screwim.so
screwim.enable = 1
(아파치 재시작 및 적용 확인)
# /usr/local/apache/bin/apachectl restart
# /usr/local/php/bin/php -m |grep screwim
3. SCREWIM 설치
# cd tools
# ./autogen.sh // 위에서 모듈을 설치하지 않으면 실행이 안됩니다. 모듈부터 설치하세요.
# ./configure
# make install
(설치 확인)
# /usr/local/bin/screwim -v
4. PHP 소스 암호화 하기
# cd /{PHP 소스 디렉토리}
# screwim config.php
원본 파일은 백업하고 암호화된 파일은 사용하는 파일명으로 변경합니다.
# mv config.php config.php.ori
# mv config.php.screw config.php
사이트 동작을 확인합니다.
* 복호화 불가 처리하실 분은..
실행 파일이나 설치 소스 파일이 그대로 남겨져 있을 경우 screwim -d 옵션을 통해 복호화가 가능하므로
실행 파일 및 설치 소스 파일 디렉토리를 삭제 합니다.
(설치시 암호화, 복호화에 사용되는 랜덤 생성된 KEY STRING 삭제)
rm -f /usr/local/bin/screwim
rm -rf /usr/local/src/mod_screwim
[출처] https://www.php79.com/525
https://github.com/OOPS-ORG-PHP/mod_screwim/
https://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=81220
'리눅스 > PHP' 카테고리의 다른 글
Rocky Linux 9 에서 웹서버 없이 PHP 8.2 및 PHP-FPM 설치하기 (0) | 2024.02.07 |
---|---|
PHP - cUrl를 이용해 PUT, POST, GET으로 json을 전달하는 방법 (0) | 2021.10.22 |
CentOS 7 에서 PHP 8.0 설치하기 (0) | 2021.10.19 |
php 5.2.17 소스 컴파일시 오류 (node.c: In function 'dom_canonicalization') (0) | 2019.02.13 |
php 7 에서 mysqli 추가시 오류 (0) | 2018.07.15 |