Top Menu

Disable Fungsi PHP Berbahaya

jowobot-php-iconPHP 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 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 :

  1. allow_url_fopen
  2. apache_child_terminate
  3. apache_setenv
  4. base64_decode
  5. curl_exec
  6. curl_multi_exec
  7. define_syslog_variables
  8. dl
  9. escapeshellarg
  10. escapeshellcmd
  11. eval
  12. exec
  13. fp
  14. fput
  15. ftp_connect
  16. ftp_exec
  17. ftp_get
  18. ftp_login
  19. ftp_nb_fput
  20. ftp_put
  21. ftp_raw
  22. ftp_rawlist
  23. gzinflate
  24. gzuncompress
  25. highlight_file
  26. ini_alter
  27. ini_get_all
  28. ini_restore
  29. inject_code
  30. mysql_pconnect
  31. openlog
  32. parse_ini_file
  33. passthru
  34. php_uname
  35. phpAds_remoteInfo
  36. phpAds_XmlRpc
  37. phpAds_xmlrpcDecode
  38. phpAds_xmlrpcEncode
  39. popen
  40. posix_getpwuid
  41. posix_kill
  42. posix_mkfifo
  43. posix_setpgid
  44. posix_setsid
  45. posix_setuid
  46. posix_uname
  47. proc_close
  48. proc_get_status
  49. proc_nice
  50. proc_open
  51. proc_terminate
  52. shell_exec
  53. show_source
  54. str_rot13
  55. symlink
  56. syslog
  57. system
  58. 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 :

[[email protected] ~]# 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

  • cara menghapus Warning: ini_get_all() has been disabled for security reasons in
FacebookTwitterGoogle+WhatsAppLine

, , , , , , , , , , , , , , , , , , , , , , , , , , , ,

No comments yet.

Leave a Reply