Saturday, 5 October 2024
above article banner area

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.

 

Share
below article banner

Leave a Reply

Your email address will not be published. Required fields are marked *