溫馨提示×

CentOS上PHP安全設置有哪些

小樊
50
2025-08-04 09:53:20
欄目: 編程語言

在CentOS系統上配置PHP安全設置,可以通過以下步驟進行:

更新系統和PHP

  • 確保系統和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

配置PHP安全設置

  • 禁用危險函數:在 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
  • 設置會話安全:確保會話ID是隨機生成的,并且會話數據存儲在安全的位置。
session.cookie_secure = Onsession.cookie_httponly = Onsession.cookie_samesite = Strict session.gc_maxlifetime = 1440
  • 設置數據庫連接安全:如果你使用的是MySQL數據庫,確保連接是安全的。
mysqli.allow_local_infile = Offmysqli.allow_persistent_connections = Offmysqli.cache_size = 2000mysqli.max_links = -1mysqli.reconnect = Off

重啟Web服務器

根據你使用的Web服務器(如Apache或Nginx),重啟相應的服務以應用更改。

# Apache
sudo systemctl restart httpd

# Nginx
sudo systemctl restart nginx

使用安全模塊

  • ModSecurity:ModSecurity是一個開源的Web應用防火墻(WAF),可以保護你的PHP應用程序免受各種攻擊。
sudo yum install mod_security -ysudo systemctl enable mod_securitysudo systemctl start mod_security
  • PHP-FPM:如果你使用的是PHP-FPM,確保它也進行了適當的安全配置。
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的安全性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女