Lewati ke konten utama

PHP.INI Security Settings

Ada beberapa fungsi PHP yang disarankan untuk dikonfigurasi dengan benar guna melindungi server Anda dari bahaya. Tentu saja, perlindungan keseluruhan sistem Anda bisa sangat kompleks dan memerlukan sejumlah alat khusus, tetapi dalam tutorial ini kita akan memeriksa cara memulai dengan beberapa dasar, yang tidak memerlukan pengeluaran tambahan. Jadi, mari kita lihat bagaimana melakukan beberapa konfigurasi awal untuk meningkatkan keamanan aplikasi PHP Anda, yang dihosting dengan platform ini.

File konfigurasi PHP utama, bernama php.ini, berisi sejumlah pengaturan default, yang dapat Anda sesuaikan, atau bahkan tambahkan sendiri tergantung pada kebutuhan aplikasi Anda. File ini terletak di direktori etc dari server aplikasi Apache atau NGINX-PHP Anda. File ini sepenuhnya dapat diedit oleh Anda sebagai pelanggan platform, jadi mari kita pertimbangkan pengaturan mana yang dapat Anda terapkan untuk memastikan keamanan server Anda.

Catatan bahwa nilai-nilai yang dijelaskan di bawah ini hanyalah rekomendasi. Sebelum menerapkannya, pastikan persyaratan aplikasi Anda sesuai dengan konfigurasi ini agar tidak mengurangi kinerjanya.

Tekan tombol Config untuk server Apache atau NGINX Anda. Di tab yang muncul, navigasikan ke direktori etc dan buka file php.ini.

php ini config

Ikuti instruksi berikut untuk menerapkan konfigurasi yang diperlukan:

1. Tambahkan string berikut untuk menonaktifkan fungsi tidak aman:

disable_functions = phpinfo, system, mail, exec
Keamanan tambahan dapat diperoleh dengan menonaktifkan fungsi-fungsi berikut:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

insecure php functions

insecure php functions

2. Batasi jumlah sumber daya yang diizinkan, jika dapat diterima untuk aplikasi Anda:

  • Waktu eksekusi skrip maksimum (dalam detik) max_execution_time = 30
  • Waktu maksimum untuk parsing data permintaan oleh setiap skrip max_input_time = 60
  • Ukuran maksimum file yang diunggah upload_max_filesize = 2M
  • Jumlah memori skrip maksimum (8MB) memory_limit = 8M (nilai defaultnya adalah 128M, tetapi dapat diterima untuk menetapkan yang lebih rendah jika tidak mengurangi kinerja aplikasi Anda)
  • Ukuran data POST maksimum, yang dapat diterima untuk PHP post_max_size = 8M

3. Daftar berikut dari fungsi dapat dibatasi jika tidak diperlukan untuk aplikasi Anda:

  • Melarang unggahan file HTTP file_uploads = Off
  • Melarang menampilkan pesan kesalahan PHP untuk pengguna akhir display_errors = Off
  • Batasi akses eksternal ke lingkungan PHP Anda **safe_mode_allowed_env_vars = PHP**_
  • Batasi pengiriman kembali informasi PHP expose_php = Off
  • Nonaktifkan pendaftaran global untuk data input register_globals = Off
  • Batasi pembukaan file remote allow_url_fopen = Off

4. Untuk mendapatkan lebih banyak informasi tentang status keamanan, aktifkan fungsi-fungsi berikut _:

  • Pastikan kesesuaian pengalihan PHP cgi.force_redirect = 0
  • Aktifkan semua kesalahan yang mungkin logging log_errors = On

5. Aktifkan mode aman yang tersedia _:

  • Aktifkan mode aman safe_mode = On
  • Aktifkan mode aman SQL sql.safe_mode = On

Catatan: Saat menentukan pengaturan yang disebutkan di atas, Anda harus mempertimbangkan persyaratan aplikasi Anda, dalam beberapa kasus mungkin tidak tersedia.

Baca Juga