Disable Fungsi PHP Berbahaya - PHP singkatan dari Hypertext Preprocessor adalah bahasa pemerograman yang sangat populer digunakan untuk membuat halaman website dinamis. Tergolong kedalam bahasa pemrograman dengan pengkodean yang dengan mudah dapat kita test dan pahami :D serta mendukung beberapa database seperti MySQL, MS SQL dan Oracle.
Ada beberapa fungsi PHP berbahaya yang dapat digunakan untuk membuat code yang sangat berbahaya bagi server. Ketika kode PHP yang digunakan dalam cara yang tidak benar atau berbahaya, ini berpotensi mengacaukan Webserver dan server dapat dikendalikan oleh hacker. Kode PHP yang berbahaya tersebut benar-benar dapat membahayakan semua data yang berada di server. Yang akan terjadi jika fungsi php berbahaya ini tidak di disable? Jawabannya, engga kebayang deh.
Berikut ini daftar fungsi-fungsi php yang berbahaya :
allow_url_fopen
apache_child_terminate
apache_setenv
base64_decode
curl_exec
curl_multi_exec
define_syslog_variables
dl
escapeshellarg
escapeshellcmd
eval
exec
fp
fput
ftp_connect
ftp_exec
ftp_get
ftp_login
ftp_nb_fput
ftp_put
ftp_raw
ftp_rawlist
gzinflate
gzuncompress
highlight_file
ini_alter
ini_get_all
ini_restore
inject_code
mysql_pconnect
openlog
parse_ini_file
passthru
php_uname
phpAds_remoteInfo
phpAds_XmlRpc
phpAds_xmlrpcDecode
phpAds_xmlrpcEncode
popen
posix_getpwuid
posix_kill
posix_mkfifo
posix_setpgid
posix_setsid
posix_setuid
posix_uname
proc_close
proc_get_status
proc_nice
proc_open
proc_terminate
shell_exec
show_source
str_rot13
symlink
syslog
system
xmlrpc_entity_decode
Untuk men-disable fungsi PHP berbahaya, dapat dilakukan dengan mengedit file konfigurasi PHP yaitu “php.ini“. Untuk mengetahui dimana letak file tersebut kita dapat menggunakan perintah berikut :
[root@srv1 ~]# php -i | grep php.ini Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini
setelah lokasi filenya diketahui, edit file tersebut menggunakan text editor favoritmu, saya selalu menggunakan Vim text editor. vi /folder/ke/tempat/php.ini dan cari baris “disable_functions:” selanjutnya tambahkan baris berikut :
disable_functions = “nama_fungsi, …, …”
Atau lebih lengkapnya seperti berikut :
disable_functions = “allow_url_fopen, apache_child_terminate, apache_setenv, base64_decode, curl_exec, curl_multi_exec, define_syslog_variables, dl, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, gzinflate, gzuncompress, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, parse_ini_file, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, show_source, str_rot13, symlink, syslog, system, xmlrpc_entity_decode”
Selanjutnya restart webserver atau modul php. Inget yah, ini engga menjamin server aman 100%. Dengan men-disable fungsi php berbahaya Ini hanya salah satu metode untuk menambah keamanan server kamu. Perhatikan juga keamanan server dari sisi yang lainnya :D