Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der PHP-Quellcode-Verschlüsselungsmethode

Detaillierte Erläuterung der PHP-Quellcode-Verschlüsselungsmethode

王林
Freigeben: 2023-04-07 11:44:02
nach vorne
5793 Leute haben es durchsucht

Detaillierte Erläuterung der PHP-Quellcode-Verschlüsselungsmethode

Obwohl PHP die beste Sprache der Welt ist, gibt es aufgrund schwach typisierter Sprachen auch einige Sicherheitsprobleme. In der Geschichte von WordPress gab es einige Sicherheitsprobleme, die durch Fehler in PHP selbst verursacht wurden. Beispielsweise nutzte die Cookie-Fälschung in CVE-2014-0166 die Fehler im PHP-Hash-Vergleich aus.

Das Folgende ist eine Einführung in eine Quellcode-Verschlüsselungstechnologie:

Verschlüsselungssoftware (php_screw)

Download-Adresse: http://sourceforge.net/projects/php-screw/

Beschreibung: PHP-Dateien werden normalerweise im Textformat auf der Serverseite gespeichert und sind für andere leicht lesbar Quellcode. Um die Quelle zu überprüfen. Um den Code zu schützen, können Sie die Methode der Verschlüsselung des Quellcodes verwenden. Um diese Funktion zu realisieren, benötigen Sie zwei Teile: Verschlüsselungsprogramm zur Realisierung der Verschlüsselung PHP-Dateien

Das andere ist: Die Implementierung der verschlüsselten PHP-Datei ist relativ einfach, die Implementierung des Letzteren erfolgt größtenteils in Form des PHP-Moduls.

(Schraube) kann die oben genannten Funktionen erreichen. Die neueste Version ist 1.5, die von SourceForge heruntergeladen werden kann.

php_screw

ist ein von Japaner entwickeltes PHP-Verschlüsselungsprogramm es kann nur unter LINUX laufen

php_screw

Installation


Beschreibung: Der Zweck der Installation besteht eigentlich darin, zwei Dateien zu generieren, eine ist eine Schraube zum Verschlüsseln von PHP-Dateien und das andere

ist das Parsing-Modul php_screw.so, das von PHP geladen wird

Installationsumgebung

System: Centos 5.3

Software : Apache 2.2.9

PHP 5.2.10

Alle oben genannten Umgebungen werden von Ihnen selbst heruntergeladen, konfiguriert und installiert. Bitte suchen Sie im Internet nach bestimmten Apache+php+mysql-Installationsmethoden.

Installationsschritte

1. Dekomprimieren Sie mit tar tar -zxvf php_screw-1.5.tar.gz

2. Geben Sie das Verzeichnis php_screw-1.5 ein start Install

cd php_screw-1.5
phpize
Nach dem Login kopieren

In Bezug auf phpize muss nur das php5-dev-Modul im php5-dev-Erweiterungsmodul installiert werden.

./configure

3. Legen Sie das Passwort fest, das Sie für die Verschlüsselung verwenden

Kopieren Sie den Code wie folgt:

vi my_screw.h
 -- Please change the encryption SEED key (pm9screw_mycryptkey) into the
    values according to what you like.
    The encryption will be harder to break, if you add more values to the
    encryption SEED array. However, the size of the SEED is unrelated to
    the time of the decrypt processing.
 *  If you can read and understand the source code, to modify an original
        encryption logic will be possible. But in general, this should not
        be necessary.
   OPTIONAL: Encrypted scripts get a stamp added to the beginning of the
        file. If you like, you may change this stamp defined by
        PM9SCREW and PM9SCREW_LEN in php_screw.h. PM9SCREW_LEN must
        be less than or equal to the size of PM9SCREW.
Nach dem Login kopieren

4. Kompilieren

make
Nach dem Login kopieren

5. Kopieren Sie die Datei php_screw.so im Verzeichnis „modules“ in das Verzeichnis /usr/lib/php5/extension

cp modules/php_screw.so /usr/lib/php5/extension/
Nach dem Login kopieren

6. Bearbeiten Sie die Datei php.ini

im Verzeichnis php .ini-Datei, fügen Sie die folgende Anweisung hinzu

extension=php_screw.so
Nach dem Login kopieren

7. Starten Sie Apache neu

/srv/apache/bin/apachectl restart
Nach dem Login kopieren

9. Kopieren Sie die Verschlüsselungstool-Schraube in das Tools-Verzeichnis in das entsprechende Verzeichnis

cd tools
make
Nach dem Login kopieren

Nach den oben genannten 10 Schritten wurde php_screw-1.5 vollständig installiert. Und jetzt unterstützt PHP auch die Interpretation verschlüsselter PHP-Dateien

Verwenden Sie

1. Schreiben Sie nun eine zu verschlüsselnde PHP-Datei. Ich habe die folgende test.php-Datei geschrieben, um die Geschwindigkeit von PHP zu testen

Kopieren Sie den Code wie folgt:

cp screw /usr/bin/
Nach dem Login kopieren

Fügen Sie die obige test.php-Datei in /var/ ein. www/-Verzeichnis. Der Zugriff über den Browser zeigt die Geschwindigkeit von PHP in umfangreichen Berechnungen (grobe Schätzung)

2. Verschlüsseln Sie die von uns geschriebene PHP-Datei

<?
$a=0;
$t=time();
for($i=0;$i<5000000;$i++)
  {$a=$a*$i;}
$t1=time();
echo "<p>";
echo "It used:";
echo $t1-$t;
echo "seconds";
?>
Nach dem Login kopieren

Nachdem wir sie verschlüsselt haben, wird der Test im Verzeichnis durchgeführt ist jetzt die .php-Datei, die wir verschlüsselt haben. Die Quelldatei wurde in test.php.screw umbenannt und gespeichert.

Testen wir jetzt test.php, um zu sehen, ob es normal verwendet werden kann? Wie ist die Geschwindigkeit?

Ich habe es verglichen und festgestellt, dass die Geschwindigkeit vor und nach der Verschlüsselung ungefähr gleich ist und es im Grunde nicht viel Verlust gibt.

3. Stapelverschlüsselte Dateien

Nachdem die .html-Datei auf Debian, Apache2 und PHP5 getestet wurde, kann sie korrekt analysiert werden.

Wie funktioniert php_screw im aktuellen Verzeichnis, verschlüsseln Sie die im Verzeichnis enthaltenen Dateien und die Dateien im enthaltenden Verzeichnis als Ganzes

cd /var/www/
screw test.php
Nach dem Login kopieren

Auf diese Weise werden alle .php-Dateien im aktuellen Verzeichnis verschlüsselt.

Weitere verwandte Fragen finden Sie auf der chinesischen PHP-Website:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Quellcode-Verschlüsselungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage