غیرفعال کردن توابع خطرناک PHP در لینوکس
![](https://tooba.co/wp-content/uploads/2017/05/linux-command.jpg)
برای اینکه بتونیم امنیت سرورمون رو تا حد بسیاری بالا ببریم در این تاپیک قصد دارم یک سری از فانکشن های که بهتره برای سرور های اشتراکی بسته باشه و به عنوان فانکشن های خطرناک از اونها یاد میشه شرح بدم .
در پایین لیست کامل این فانکشن ها رو عرض میکنم:
محل قرارگیری این فانکشن ها در فایل php.ini هست. اگر آدرس دقیق اونو نمیدنید دستور زیر رو در خط فرمان تایپ کنید:
php -i | grep php.ini
بیشتر اوقات آدرس فایل در سرور های لینوکس etc/php.ini قرار دارد.
خب حالا با استفاده از دستور زیر این فایل رو ویرایش میکنیم:
nano /etc/php.ini
به دنبال disable_functions = بگردید برای اینکار میتونید در ویرایشگر Ctrl +W رو بزنید و عبارتی disable_functions رو وارد کنید تا ویرایشگر شما رو به همین خط کد هدایت کند.
حالا فانکش های این خط رو به صورت زیر جایگزین کنید:
disable_functions = shell, symlink, ini_restore, mysql_list_dbs, popen, stream_select, socket_select, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, socket_clear_error, socket_close, socket_connect, socket_get_option, socket_getpeername, socket_getsockname, socket_last_error, socket_read, socket_recv, socket_recvfrom, socket_send, socket_sendto, socket_set_block, socket_set_nonblock, socket_set_option, socket_shutdown, socket_write, readlink, symlink, link, pfsockopen, ini_alter, dl, openlog, syslog, pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, fpassthru, system, passthru, exec, proc_close, proc_get_status, proc_nice, proc_terminate, shell_exec, posix_access, posix_ctermid, posix_errno, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_initgroups, posix_isatty, posix_kill, posix_mkfifo, posix_mknod, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname, ini_get_all, php_uname, diskfreespace, disk_free_space, disk_total_space, sys_getloadavg, curl_multi_add_handle, curl_multi_close, curl_multi_exec, curl_multi_getcontent, curl_multi_info_read, curl_multi_init, curl_multi_remove_handle, curl_multi_select,mail
و از فایل با کلید ترکیبی Ctrl + X خارج و فایل رو ذخیر کنید.
بعد از ذخیره وب سرور آپاچی را رستارت کنید.