Selain disable directory listing Apache, cara menonaktifkan exec, passthru, dan shell_exec dapat menjadi opsi pengamananan website jika Anda masih ingin menggunakan XAMPP sebagai web server.
Fungsi exec, passthru, dan shell_exec di XAMPP adalah fungsi yang memungkinkan Anda melakukan eksekusi command pada server terhadap script PHP yang berjalan di sana.
Apabila masih aktif, maka hacker dapat melakukan inject kode dalam script PHP. Dengan begitu, mereka bisa melakukan eksekusi perintah pada server. Berikut cara melakukan disable dan cara melakukan uji coba!
Cara Menonaktifkan exec, passthru, dan shell_exec
Kerentanan ini memang menjadi salah satu alasan tidak menggunakan XAMPP untuk server production. Namun, apabila Anda harus pakai XAMPP, berikut cara melakukan pengamanannya:
- Buka XAMPP Control Panel > klik Config pada baris Module Apache.
- Buka file PHP (php.ini).
- Cari kata kunci disable sampai menemukan direktif disable_functions=.
- Tambahkan fungsi yang hendak dinonaktifkan, yakni exec, passthru, dan shell_exec seperti di bawah ini:
- Save konfigurasi, kemudian restart Apache.
- Selesai.
Cara Melakukan Test Jika Sudah Off
Untuk memastikan bahwa fungsi exec, passthru, dan shell_exec sudah off, Anda dapat melakukan test seperti berikut ini:
- Buat file PHP yang berisi script di bawah. Contoh namanya function_check.php.
<?php echo "<pre>"; var_dump(function_exists('exec')); var_dump(function_exists('passthru')); var_dump(function_exists('shell_exec')); echo "</pre>";
- Simpan file tersebut di dalam folder htdocs, dan restart XAMPP.
- Coba akses path file tersebut melalui browser. Jika muncul bool(false), artinya ketiga fungsi sebelumnya sudah dinonaktifkan.
Memastikan keamanan website sangat penting. Oleh karena itu, memilih teknologi sebagai environment production tidak boleh dilakukan dengan sembarangan.
Untuk mengembangkan website yang aman, Anda juga dapat bekerja sama dengan web developer yang berpengalaman seperti Tonjoo. Tim kami telah dipercaya mengembangkan website dari brand besar seperti UGM, Unpad, hingga Unilever.
Mari berdiskusi kebutuhan website Anda melaui halaman kontak. Tim kami akan sedang senang membantu!
Baca artikel serupa oleh Moch. Nasikhun Amin di blog Tonjoo mengenai WordPress, WooCommerce, plugin, dan topik-topik pengembangan web lainnya.