在Ubuntu下設置PHP的安全性是非常重要的,以下是一些關鍵的安全設置步驟和最佳實踐:
確保系統和所有軟件包都是最新的,以修復已知的安全漏洞。
sudo apt update
sudo apt upgrade
安裝并配置Apache或Nginx,并確保使用HTTPS來加密數據傳輸。
sudo apt install apache2
sudo a2enmod ssl
sudo systemctl restart apache2
編輯PHP的配置文件php.ini
,進行以下設置:
display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_WARNING
safe_mode = On
safe_mode_allowed_classes = "mysqli,pdo_mysql"
exec()
, system()
等。disable_functions = exec,system,passthru,shell_exec,popen,curl,fsockopen,file_get_contents,mkdir,rmdir,rename,unlink,chmod,chown,chgrp,date,time,localtime,gmtime,isset,empty,is_array,is_object,is_resource,is_string,is_int,is_float,is_bool,is_callable,assert
open_basedir
限制PHP可以訪問的系統目錄。open_basedir = /var/www/html:/tmp
allow_url_fopen
和allow_url_include
。allow_url_fopen = Off
allow_url_include = Off
location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ {
deny all;
}
盡量使用預編譯的擴展,而不是從源代碼編譯,以減少潛在的安全風險。
確保你的應用程序文件和目錄具有適當的訪問權限,以防止未經授權的文件訪問。
sudo chown -R www-data:www-data /path/to/your/php/application
sudo chmod -R 755 /path/to/your/php/application
定期檢查并更新你的項目依賴庫,以確保它們沒有已知的安全漏洞。
composer update
使用諸如PHP Security Advisories Checker(PHPSA)之類的工具來掃描你的代碼,查找潛在的安全問題。
遵循以上步驟和最佳實踐可以幫助你提高Ubuntu下PHP應用程序的安全性,有效防范常見的網絡攻擊和安全威脅。