Disini akan saya paste mengenai konfigurasi php pada php.ini, hal ini dilakukan untuk meningkatkan performa dan seckuritas dari sebuah website. Semoga bermanfaat....
Error handling & logging
error_reporting=E_ALL
Sebaiknya dalam tahap pengembangan ataupun deployment anda mengeset semua level error.
display_errors=Off
Sangat disarankan anda tidak menampilkan pesan error yang di-genenrate oleh php, kecuali pada saat pengembangan.
log_error=On
direktive ini menyatakan apakah error akan ditulis ke file log atau tidak, sebaiknya ini diaktifkan untuk mengganti pesan error di browser.
error_log="C:\tmp"
sesuaikan dengan lokasi file dimana log error akan ditulis, ini memudahkan kita saat mentrace error.
Variable
register_globals=Off
Meski dalam tahap pengembangan sebaiknya directive ini tidak diaktifkan. Sebagai ganti untuk pengambilan nilai variabel gunakan superglobal.
variables_order="GPCS"
variables_order="EGPCS" (php versi baru)
Untuk menetapkan urutan variabel-variabel yang diregister PHP, yaitu: $_GET, S_POST, SCOOKIE dan S_SERVER
register_argc_argv=Off
jika ini diaktifkan maka parameter-parameter URL akan mudah ditangkap.
magic_quotes_gpc=Off
Directive in menangani data GPC dan sebaiknya tetap di-disable.sebagai ganti untuk menangani tanda kutip gunakan fungsi dedicated database atau fungsi addslashes()
magic_quotes_runtime=Off
Directive ini berfungsi untuk menangani data yang digenerate saat runtime. Contohnya data dari SQL dan fungsi exec()
Session & Cookie
session.save_path="C:\tmp"
Tentukan lokasi yang aman untuk menyimpan data session. Apabila platform sistem operasi mendukung shared memory, isikan mm.
session.use_cookie=1
Nilai 1 pada option ini menyatakan bahwa modul akan menggunakan cookie untuk menyimpan id session client.
session.use_only_cookies=1
Untuk mencegah penyerangan melalui parameter URL ketika bekerja dengan session maka aktifkan option ini.
session.auto_start=0
Disarankan agartidak menjalankan session secara otomatis, tetapi menggunakan session_start()
Batasan akses
disable_function=exec, system, popen, pro_open, passthru,fsockopen,ftp_connect,dl_open,mail,phpinfo
Option ini digunakan untuk men-disable fungsi-fungsi PHP. Fungsi-fungsi diatas yang sensitif berpeluang digunakan sebagai sarana penyerangan.
disable_classes=NamaClass
Gunakan option ini untuk memproteksi class yang sifatnya sensitif. Cara mengisi nilainya seperti disable_function,tanda koma sebagai pemisah.
enable_dl=Off
Option ini mengijinkan ekstensi-ekstensi di-load saat runtime. Selain terkait masalah sekuriti, ini juga dapat mengurangi performa.
allow_url_fopen=Off
Jika option ini di-disable maka remote file tidak diijinkan. Artinya kita tidak akan bisa mengakses objek URL sebagai file.
extension_dir="C:\php5-1\ext"
Tetapkan lokasi file-file ekstensi (library) secara permanen melalui option ini.
file_uploads=Off
Upload file ke server seringkali menimbulkan masalah dan disarankan agar klien tidak diijinkan mengupload file. Bisa diganti mengggunakan FTP client.
safo_mode=On
Safe mode merupakan solusi yang coba memecahkan masalah-masalah sekuriti shared server. Jika ini diaktifkan maka akses ke filfe-file sensitif akan diperiksa terlebih dahulu.
Perfomansi
register_long_arrays=Off
Nilai Off pada option ini akan mengakibatkan superglobal lama ($HTTP_*_VARS) tidak dikenal.
expose_php=Off
Option ini mengijinkan kita untuk menulis PHP di file dengan ekstensi lain misalnya .html, .htm. Ini menjadikan kode bisa di eksekusi lebih cepat oleh server.
session.gc_divisor=1000
Option ini untuk menetapkan nilai pembagi, dimana GC (Garbage Collection) akan dijalankan tiap request.
output_buffering=4096
Untuk meningkatkan performa, gunakan buffering output dan tetapkan nilai buffer 4096 Bytes (4KB).
Sekian informasi ini semoga berguna, jika ada yang kurang tepat mohon di koreksi.
sumber: buku 101 Tip & Trik Pemrograman PHP karya Didik Dwi Prasetyo, diterbitkan oleh PT. Gramedia Jkt.
Rekomendasi Artikel: