Tắt các hàm nguy hiểm trong PHP
Với những ai quản trị Webserver thì nỗi lo bị hack nói chung hay local hack nói riêng là một điều luôn thường trực. PHP cung cấp cho chúng ta một ngôn ngữ lập trình web mạnh với rất nhiều hàm gọi hệ thống, giúp các lập trình viên có thể thao tác với hệ thống một cách tiện lợi. Tuy nhiên đây cũng là điểm yếu khi mà server bị hack, hay đơn giản server bạn là share hosting và hàng xóm của bạn Up 1 con shell loại như R57 hay c99 lên. Vậy chúng ta phải chống như thế nào?
Để chống được shell này ở mức cơ bản, chúng ta cần cài đặt mod_security, chạy php ở mức và cần phải disable một số hàm gọi hệ thống được đánh giá là nguy hiểm trong PHP, cụ thể là những hàm sau, và disable như sau:
Chúng ta mở file php.ini, tìm đến dòng bắt đầu bằng disable_funtions = và thêm vào như sau:
disable_functions = “apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, 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_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode”
Sau đó lưu lại và khởi động lại apache, lúc này server của bạn đã được an toàn hơn.


2 Comments to “Tắt các hàm nguy hiểm trong PHP”
Host em đang dùng, server do anh cấu hình phải không
ini_get_all vẫn chạy ầm ầm mà :-”
tùy thuộc vào từng server thôi.
Hàm đó mà tắt thì nhiều ứng dụng khóc ngay.