在Ubuntu系统上配置PHP的安全性是非常重要的,以下是一些关键的安全设置步骤和最佳实践:
确保系统和所有软件包都是最新的,以防止已知的安全漏洞。
sudo apt update
sudo apt upgrade
安装并配置Apache或Nginx,并确保使用HTTPS来加密数据传输。
sudo apt install apache2 libapache2-mod-php
# 对于Nginx
sudo apt install nginx php-fpm
编辑PHP的配置文件 php.ini
,进行以下设置:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
eval()
、system()
等。disable_functions = exec, system, passthru, shell_exec, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
open_basedir
指令限制PHP只能访问指定目录下的文件。open_basedir = /var/www/html:/tmp
upload_max_filesize = 2M
post_max_size = 8M
safe_mode = Off
确保已启用PHP模块并正确配置。
sudo a2enmod php7.x
sudo systemctl restart apache2
在Nginx配置文件中设置PHP-FPM处理PHP文件。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
}
eval()
、preg_replace()
等。open_basedir
指令限制PHP只能访问指定目录下的文件。