在CentOS系統上配置PHP安全設置,可以通過以下步驟進行:
sudo yum update -ysudo yum install epel-release -ysudo yum install php php-mysqlnd php-gd php-xml php-mbstring php-pear php-bcmath -y
disable_functions
指令中添加一些危險的函數,以防止它們被濫用。disable_functions = eval,assert,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_USER_NOTICE & ~E_USER_DEPRECATED
。error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_USER_NOTICE & ~E_USER_DEPRECATEDdisplay_errors = Off log_errors = On error_log = /var/log/php_errors.log
upload_max_filesize = 2 Mpost_max_size = 8 M file_uploads = On
session.cookie_secure = Onsession.cookie_httponly = Onsession.cookie_samesite = Strict session.gc_maxlifetime = 1440
mysqli.allow_local_infile = Offmysqli.allow_persistent_connections = Offmysqli.cache_size = 2000mysqli.max_links = -1mysqli.reconnect = Off
根據你使用的Web服務器(如Apache或Nginx),重啟相應的服務以應用更改。
# Apache
sudo systemctl restart httpd
# Nginx
sudo systemctl restart nginx
sudo yum install mod_security -ysudo systemctl enable mod_securitysudo systemctl start mod_security
sudo vi /etc/php-fpm.d/www.conf
在 www.conf
文件中,確保以下設置:
security.limit_extensions = .php .php3 .php4 .php5 .php6 .php7 .phtml .pl .py .jsp .asp .htm .shtml .sh .cgi
然后重啟PHP-FPM服務:
sudo systemctl restart php-fpm
通過以上步驟,你可以顯著提高CentOS系統上PHP的安全性。