Bagaimana melindungi file sumber PHP di server publik

0

Saya memiliki situs web yang saya buat menggunakan PHP.

Karena saya meng-host situs web saya di server publik; Saya ingin tahu apakah mungkin untuk mengenkripsi kode sumber PHP saya dari situs web sedemikian rupa sehingga tidak mungkin untuk membaca file PHP oleh seorang penyusup.

Jika tidak, Anda dapat menyarankan bahasa lain yang dengannya kami dapat mengenkripsi kode sumber kami dan dapat berjalan di server.

user499312
sumber
Apakah Anda takut “penyusup” mencuri kode sumber Anda? Atau Anda takut “penyusup” meretas kode Anda? Bagaimanapun Anda mungkin terlalu memikirkan ini.
JakeGould

Jawaban:

1

Kecuali jika penyerang secara eksplisit di server Anda, Anda tidak perlu khawatir tentang kode PHP Anda karena server web apa pun yang Anda gunakan akan menguraikan dan menjalankan kode PHP sebelumnya untuk mengirimnya ke luar, sehingga penyerang tidak akan tahu kode yang dieksekusi.

Namun, jika Anda khawatir tentang data yang mungkin ditransfer antara server Anda dan klien, saya sarankan menggunakan SSL/TLS untuk mengenkripsi data apa pun antara server Anda dan klien Anda - Ini harus cukup aman sehingga server Anda tetap aman.

nKn
sumber
Perhatikan bahwa jika apa saja kode PHP (termasuk nested include dan tag di dalam templat) berfungsi menggunakan tag pendek ( <? dari pada <?php, dan host server memperbarui bahasa PHP, membiarkan dukungan tag pendek dinonaktifkan (default), maka kode tertentu tidak akan ditafsirkan, dan akan ditampilkan dalam teks biasa (atau disematkan dalam sumber) yang dipancarkan ke klien.
Yorik
0

Ada berbagai macam kebingungan alat yang membuat Anda kode sumber sulit dimengerti tetapi masih memiliki fungsi yang persis sama. [Saya membuat salah satunya; lihat bio saya].

Dengan menggunakan salah satunya, Anda dapat bekerja dalam bentuk teks sumber asli di situs pengembangan Anda. Anda dapat mengaburkan cleartext untuk menghasilkan versi yang dilindungi yang kemudian digunakan. Ini berarti bahwa orang-orang dengan akses tak terbatas ke server yang dikerahkan hanya melihat teks yang dikaburkan, yang membuat kode sangat sulit untuk dipahami.

Tentu saja, Anda harus menguji versi yang dikaburkan di situs pengembangan Anda sebelum menempatkannya, untuk memastikan obfuscator tidak merusak sesuatu (atau lebih mungkin, bahwa Anda telah salah mengonfigurasi obfuscator).

Itu tidak ideal; lawan yang ditentukan dengan upaya yang cukup mungkin dapat merekayasa balik kode Anda. Biasanya itu cukup untuk membuat mereka kecil hati dan hanya itu yang Anda butuhkan.

Mengenai enkripsi : ini adalah ide yang sangat buruk, karena mereka memasukkan logika untuk mendekripsi kode sumber. Jadi, jika Anda menggunakan versi kode yang terenkripsi, lawan Anda dapat menggunakan decrypter yang juga harus Anda pasok untuk sampai ke cleartext program Anda secara sepele.

Ira Baxter
sumber