Cara Menonaktifkan exec, passthru, dan shell_exec di XAMPP

SHARES

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:

  1. Buka XAMPP Control Panel > klik Config pada baris Module Apache.
    Menonaktifkan exec, passthru, dan shell_exec
  2. Buka file PHP (php.ini).
    Menonaktifkan exec, passthru, dan shell_exec
  3. Cari kata kunci disable sampai menemukan direktif disable_functions=.
    Menonaktifkan exec, passthru, dan shell_exec
  4. Tambahkan fungsi yang hendak dinonaktifkan, yakni exec, passthru, dan shell_exec seperti di bawah ini:
    Menonaktifkan exec, passthru, dan shell_exec
  5. Save konfigurasi, kemudian restart Apache.
  6. 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:

  1. Buat file PHP yang berisi script di bawah. Contoh namanya function_check.php.
    Menonaktifkan exec, passthru, dan shell_exec

    <?php
    echo "<pre>";
    var_dump(function_exists('exec'));
    var_dump(function_exists('passthru'));
    var_dump(function_exists('shell_exec'));
    echo "</pre>";
    
  2. Simpan file tersebut di dalam folder htdocs, dan restart XAMPP.
    Menonaktifkan exec, passthru, dan shell_exec
  3. Coba akses path file tersebut melalui browser. Jika muncul bool(false), artinya ketiga fungsi sebelumnya sudah dinonaktifkan.
    Menonaktifkan exec, passthru, dan shell_exec

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!

alasan tidak menggunakan xampp untuk server production


Baca artikel serupa oleh Moch. Nasikhun Amin di blog Tonjoo mengenai WordPress, WooCommerce, plugin, dan topik-topik pengembangan web lainnya.


 

Mari Bekerja Sama!

Wujudkan situs web impian Anda bersama kami.