Tutorial - Tips

Konfigurasi php.ini

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: