溫馨提示×

PHP安全設置Ubuntu上怎么做

小樊
44
2025-09-04 18:20:23
欄目: 編程語言

在Ubuntu上配置PHP安全設置可從以下方面入手:

  1. 更新系統與軟件包

    sudo apt update && sudo apt upgrade -y  
    
  2. 配置php.ini關鍵參數

    • 錯誤報告:關閉詳細錯誤顯示,記錄日志
      display_errors = Off  
      log_errors = On  
      error_log = /var/log/php_errors.log  
      
    • 文件上傳限制
      upload_max_filesize = 2M  
      post_max_size = 8M  
      file_uploads = On  
      
    • 禁用危險函數
      disable_functions = system,exec,passthru,shell_exec,proc_open  
      
    • 限制目錄訪問
      open_basedir = /var/www/html:/tmp  
      
    • 會話安全
      session.cookie_secure = On  
      session.cookie_httponly = On  
      session.cookie_samesite = Strict  
      
  3. 優化Web服務器配置

    • Apache:啟用mod_security防火墻模塊
      sudo apt install libapache2-mod-security2  
      sudo a2enmod security2  
      
    • Nginx:限制PHP腳本訪問路徑
      location ~ \.php$ {  
          include snippets/fastcgi-php.conf;  
          fastcgi_pass unix:/run/php/php{version}-fpm.sock;  
      }  
      
  4. 強化PHP-FPM安全(若使用)

    • 以非root用戶運行,配置Unix socket監聽
      user = www-data  
      group = www-data  
      listen = /run/php/php{version}-fpm.sock  
      listen.owner = www-data  
      listen.group = www-data  
      
    • 限制進程數量與請求超時
      pm.max_children = 50  
      request_terminate_timeout = 30s  
      
  5. 系統級安全加固

    • 防火墻:使用UFW限制HTTP/HTTPS訪問
      sudo ufw allow 'Nginx Full'  
      sudo ufw enable  
      
    • 文件權限:確保Web根目錄與PHP文件權限正確
      sudo chown -R www-data:www-data /var/www/html  
      sudo chmod -R 755 /var/www/html  
      sudo find /var/www/html -type f -name "*.php" -exec chmod 644 {} \;  
      
  6. 其他安全措施

    • 啟用HTTPS(需配置SSL證書)
    • 定期更新PHP及依賴庫,修復漏洞
    • 監控日志文件(如/var/log/php_errors.log

具體配置需根據實際環境調整,修改后重啟服務生效:

sudo systemctl restart apache2  # Apache  
sudo systemctl restart nginx    # Nginx  
sudo systemctl restart php{version}-fpm  # PHP-FPM  

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