Cet article présente principalement le cryptage du code source PHP php-beast, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
Adresse de téléchargement du code source de php-beast :
https://github.com/liexusong/php-beast
Décompressez et entrez dans le répertoire du code source
[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
pour compiler, Installation
[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/
Une fois l'installation terminée, Beast.so est généré dans le répertoire no-debug-non-zts-20131226.
Modifiez php.ini et ajoutez l'élément de configuration : extension=beast.so
Redémarrez Apache et vérifiez si Beast prend effet via phpinfo
[innpay@localhost apache2]$ ./bin/apachectl restart
Une fois l'installation terminée, entrez le répertoire tools sous le répertoire source et configurez 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"
src_path est le chemin au projet à chiffrer, dst_path est le chemin pour enregistrer le projet chiffré, expire est l'heure à laquelle le projet peut être défini (le format d'expiration est : AAAA-mm-jj HH:ii:ss). encrypt_type est la méthode de cryptage, les options sont : DES, AES, BASE64. Après avoir modifié le fichier configure.ini, vous pouvez utiliser la commande php encode_files.php pour démarrer le projet de chiffrement.
Vous pouvez rencontrer le problème que la commande php ne peut pas être reconnue ici :
php: command not found
La solution est d'ajouter le chemin d'exécution php au PATH de la variable d'environnement .bash_profile
Effectuer une opération de cryptage :
[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
Ici, je suis informé qu'un fichier nommé wechat.class.php n'a pas pu être crypté. Je soupçonne que c'est parce que le fichier est trop long. peu importe si l'un échoue, je le copierai séparément.
Le répertoire crypté est le répertoire des. Entrez et regardez les fichiers de code source. Ils sont en effet tronqués. Mais accéder à toutes les pages php est normal.
Parce que j'utilise ici la méthode de cryptage des, une clé des sera certainement utilisée. La clé par défaut est des_algo_handler dans le répertoire php-beast.
#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, };
peut être modifié directement. Il suffit de recompiler après avoir effectué les modifications.
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Introduction au générateur d'itérateur PHP
Attribution de la valeur du tableau à un tableau dans les méthodes PHP de variables de groupe
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!