이 기사에서는 특정 참조 값을 갖는 PHP 소스 코드 php-beast의 암호화를 주로 소개합니다. 이제는 모든 사람들과 공유합니다.
[innpay@localhost soft]$ unzip php-beast-master.zip [innpay@localhost soft]$ cd php-beast-master [innpay@localhost php-beast-master]$ pwd/home/pony/soft/php-beast-master
컴파일 및 설치
[innpay@localhost php-beast-master]$ /home/pony/php/bin/phpize Configuring for: PHP Api Version: 20131106Zend Module Api No: 20131226Zend Extension Api No: 220131226[innpay@localhost php-beast-master]$ ./configure --with-php-config=/home/pony/php/bin/php-config [innpay@localhost php-beast-master]$ make [innpay@localhost php-beast-master]$ make install Installing shared extensions: /home/pony/php/lib/php/extensions/no-debug-non-zts-20131226/
설치가 완료된 후 no-debug-non-zts-20131226 디렉토리에 beast.so를 생성합니다.
php.ini를 편집하고 구성 항목 추가: Extension=beast.so
아파치를 다시 시작하고 phpinfo를 통해 beast가 적용되는지 확인
[innpay@localhost apache2]$ ./bin/apachectl restart
# 🎜 🎜#
php-beast 사용
설치가 완료된 후 소스코드 디렉토리 아래 tools 디렉토리에 들어가서configure.ini[innpay@localhost tools]$ cat configure.ini ; source path src_path = "/home/pony/php/apache2/htdocs/wechat_nofity"; destination path dst_path = "/home/pony/php/apache2/htdocs/des"; expire time expire = "2019-01-01 12:00:00"; encrypt typeencrypt_type = "DES"
php: command not found로그인 후 복사해결책은 php의 실행 경로를 PATH에 추가하는 것입니다. .bash_profile 환경 변수# 🎜🎜#
암호화 작업 수행:
[innpay@localhost tools]$ php encode_files.php Source code path: /home/pony/php/apache2/htdocs/wechat_nofity Destination code path: /home/pony/php/apache2/htdocs/des Expire time: 2019-01-01 12:00:00------------- start process -------------PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/pony/php/soft/php-beast-master/tools/encode_files.php on line 147Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/pony/php/soft/php-beast-master/tools/encode_files.php on line 147Processed encrypt files [64%] - 100%Failed to encode file `/home/pony/php/apache2/htdocs/wechat_nofity/wechat.class.php' Processed encrypt files [100%] - 100% Finish processed encrypt files, used 0.699295 seconds
여기에 wechat.class.php라는 파일이 암호화되지 않았다는 메시지가 표시됩니다. 길어도 상관없습니다. 성공하면 따로 복사하겠습니다.
암호화된 디렉터리는 des 디렉터리입니다. 들어가서 소스 코드 파일을 살펴보세요. 그러나 모든 PHP 페이지에 액세스하는 것은 정상입니다.
기본 암호화 키 수정
여기서는 des 암호화 방법을 사용하고 있으므로 반드시 des 키를 사용하겠습니다. 기본 키는 php-beast 디렉터리에 있습니다. 아래 des_algo_handler.c 파일:
#include <stdlib.h>#include <string.h>#include "beast_module.h"#include "des_algo_lib.c"static char key[8] = { 0x01, 0x1f, 0x01, 0x1f, 0x01, 0x0e, 0x01, 0x0e, };
을 직접 변경할 수 있으며 변경 후 다시 컴파일할 수 있습니다.
관련 권장 사항:
PHP 반복자 생성기 소개위 내용은 PHP 소스 코드 php-beast 암호화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!