Selamat datang di panduan tentang cara mengenkripsi dan menyembunyikan kode sumber PHP. Perlu menyembunyikan kode sumber untuk alasan keamanan?
Tidak mungkin menyembunyikan kode sumber PHP sepenuhnya karena ini adalah bahasa yang ditafsirkan, tetapi ada beberapa kemungkinan alternatif
- Gunakan obfuscator kode untuk membuat kode sumber sulit dibaca
- Gunakan pelindung kode atau encoder. Sesuatu seperti mesin PHP alternatif, tetapi dengan kemampuan untuk melindungi kode sumber
- Terakhir, kompilasi kode PHP menggunakan konverter atau mesin virtual
Either way, menyembunyikan kode sumber tidak akan mudah. Saya tidak akan merekomendasikan melakukannya, karena Anda mungkin malah membuang-buang waktu dan uang. Tetapi jika Anda benar-benar ingin melakukannya, panduan ini akan memandu Anda melalui opsi yang memungkinkan – Baca terus
TLDR – SLIDE CEPAT
Obfuscator gratis
METODE 1) OBFUSCATOR PHP GRATIS
Alternatif pertama adalah menggunakan salah satu dari sekian banyak obfuscator PHP gratis. Mereka hanya mengubah kode asli menjadi skrip yang tampaknya campur aduk yang tidak dapat dengan mudah dibaca oleh manusia
OBFUSKATOR ONLINE
Lakukan pencarian online untuk "obfuscator PHP gratis", dan Anda akan mendapatkan sejumlah layanan berbeda untuk dipilih. Salah satunya adalah Mobile Fish, yang dapat kita salin dan tempelkan kode PHP kita. Misalnya ketika kita menginput script berikut
<?php $varA = "Hello World"; $varB = "Foo Bar"; $varC = $varA . " " . $varB; echo $varC;Itu akan memberi kita sangat mengejutkan
<?php eval(str_rot13(gzinflate(str_rot13(base64_decode('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')))));_Yap, jangan berpikir itu bisa dibaca manusia lagi
OBFUSKATOR OFFLINE
Sebagian besar obfuscator online memiliki batasan jumlah karakter. Jadi jika Anda memiliki skrip besar, lebih baik mengunduh dan menggunakan obfuscator offline. Ada beberapa yang bagus di luar sana, dan yang akan saya rekomendasikan adalah YAK Pro – Anda dapat mengunduhnya dari GitHub atau mengkloningnya. Itu juga membutuhkan perpustakaan PHP-Parser
gh repo clone pk-fr/yakpro-po gh repo clone nikic/PHP-ParserSetelah mendownload kedua library, Anda dapat menjalankan YAK Pro di command line untuk mengenkode skrip Anda
D:\http\yakpro-po-master>php yakpro-po.php test.php Info: Using [D:\http\yakpro-po-master\yakpro-po.cnf] Config File... Info: yakpro-po version = 2.0.3 Info: Process Mode = file Info: source_file = [D:\http\yakpro-po-master\test.php] Info: target_file = [stdout] Obfuscating D:\http\yakpro-po-master\test.php <?php /* __________________________________________________ | Obfuscated by YAK Pro - Php Obfuscator 2.0.3 | | on 2022-11-17 02:37:07 | | GitHub: //github.com/pk-fr/yakpro-po | |__________________________________________________| */ goto LLSso; mh5vK: $EjslL = $ZvlM7 . "\x20" . $c23ok; goto xEHTG; LLSso: $ZvlM7 = "\x48\x65\154\x6c\x6f\x20\127\x6f\162\154\144"; goto uktyA; uktyA: $c23ok = "\106\x6f\x6f\x20\x42\141\162"; goto mh5vK; xEHTG: echo $EjslL; Info: [variable ] scrambled : 3 Info: [function ] scrambled : 0 Info: [method ] scrambled : 0 Info: [property ] scrambled : 0 Info: [class ] scrambled : 0 Info: [class_constant] scrambled : 0 Info: [constant ] scrambled : 0 Info: [label ] scrambled : 4P. S. Saya telah mengatur Yak Pro untuk langsung menampilkan kode di baris perintah di sini. Tapi itu menerima cukup banyak parameter konfigurasi, dan Anda dapat menentukan tempat menyimpan kode yang disamarkan. Silakan periksa halaman web resmi mereka untuk dokumentasi lebih lanjut
CATATAN & BATASAN
- Obfuscator bekerja berdasarkan hashing skrip asli
- Masih mungkin untuk merekayasa balik dan mendapatkan kembali skrip aslinya
- Skrip yang dikaburkan bukanlah kinerja yang baik. Itu harus mendekode string hash terlebih dahulu, lalu jalankan eval()
- Tingkat perlindungan dan kinerja bergantung pada algoritma encoding-decoding
METODE 2) PROTECTOR & ENCODER PHP BERBAYAR
Jangan percaya dengan obfuscator PHP gratis? . Berhati-hatilah, harganya bisa sangat mahal
PELINDUNG & ENCODER PHP
- Penjaga Zend
- ionCube
- Perisai PHP
ENKODER TERBAIK?
Secara pribadi, saya belum mendalami opsi berbayar – harganya mahal. Tapi Zend Guard terlihat bagus, dan bahkan dilengkapi dengan sistem lisensi… Bukan posting bersponsor, tapi lihat tutorial mulai cepat mereka jika Anda tertarik
CATATAN & BATASAN
Kinerja "pelindung kode" bervariasi, sangat tergantung pada cara kerja mesin. Beberapa bisa menjadi obfuscator sederhana seperti di atas, sementara beberapa lainnya bertindak sebagai “mesin PHP alternatif” atau “ekstensi PHP BlackBox” – Oleh karena itu harganya
METODE 3) PHP COMPILER
Opsi terakhir ini dapat menyebabkan beberapa ninja kode merasa ngeri, karena ini melibatkan kompilasi kode PHP dan mematahkan cara "tradisional" cara kerja sesuatu.
INTERPRETER VS COMPILER
Rekap singkat untuk mereka yang lupa perbedaan antara interpreter dan compiler
- Bahasa yang ditafsirkan. Kode sumber dibaca dan dieksekusi "on the fly". Misalnya, PHP dan Javascript adalah bahasa yang ditafsirkan. Untuk menjalankan skrip PHP di komputer, PHP harus diinstal terlebih dahulu
- Bahasa yang dikompilasi. Kode sumber perlu dikompilasi menjadi executable mandiri terlebih dahulu. Misalnya, kita dapat membuat file yang dapat dieksekusi dengan C++. File yang dapat dieksekusi dapat berjalan secara independen di komputer tanpa harus menginstal C++
CATATAN & BATASAN
PHP adalah bahasa yang ditafsirkan "secara default" dan tidak ada cara resmi bagi kami untuk mengkompilasi skrip PHP. Beberapa “kompiler PHP” yang tersedia di luar sana berfungsi dengan mengonversi PHP ke bahasa lain (seperti Java), lalu mengompilasinya
Dalam hal ini, skrip yang dikompilasi secara resmi akan berubah menjadi executable mandiri – Tidak lagi dapat dibaca oleh mesin PHP atau server web seperti yang dimaksudkan semula. Jadi harap perhatikan aspek ini, skrip "kompilasi PHP" sebagian besar dimaksudkan hanya untuk aplikasi baris perintah mandiri
COMPILER PHP
Ada banyak "kompiler PHP", dan Anda dapat memeriksanya
- Phalanger
- RapidEXE
- Bambalam
- Roadsend
BIT EKSTRA
Itu saja untuk opsinya, dan ini adalah bagian kecil tentang beberapa tambahan yang mungkin berguna bagi Anda
MANA YANG TERBAIK?
Itu tergantung pada situasi dan apa yang Anda inginkan
- Obfuscator gratis tidak bekerja dengan baik, tetapi mereka melindungi kode dengan cukup baik dan tidak memerlukan biaya
- Encoder berbayar mungkin juga tidak bekerja dengan baik, tetapi mereka menawarkan tingkat perlindungan tertentu
- Kompiler tidak 100% kompatibel dan tidak menghasilkan skrip ramah situs web. Tetapi mereka bekerja dengan sangat baik, mencoba merekayasa balik skrip yang dikompilasi hampir tidak mungkin
UNTUK ENCODE ATAU TIDAK UNTUK ENCODE
Semuanya bermuara pada niat awal Anda. Jika Anda memiliki sistem jutaan dolar, dan keamanan menjadi perhatian – Maka ya, menghabiskan waktu dan uang untuk melindungi kekayaan intelektual Anda sepadan dengan semua usaha
Tetapi jika Anda menghadapi masalah dengan pelanggan yang tidak membayar, mungkin masih merupakan ide yang bagus untuk mengaburkan beberapa file perpustakaan utama – Jangan buang terlalu banyak waktu, uang, dan biarkan pelanggan yang tidak membayar menderita kinerja . Pertahankan kode sumber lengkap dan kinerja yang lebih baik sebagai alat tawar-menawar. Lanjutkan saja dengan proyek dan pelanggan Anda berikutnya
TAMAT
Terima kasih telah membaca, dan kami telah sampai di akhir panduan ini. Saya harap ini membantu Anda dengan proyek Anda, dan jika Anda ingin berbagi apa pun dengan panduan ini, jangan ragu untuk berkomentar di bawah ini. Semoga berhasil dan selamat membuat kode