在Ubuntu上配置PHP安全选项可以通过修改PHP的配置文件php.ini
来实现。以下是一些常见的安全选项和配置步骤:
首先,确保你已经安装了PHP。你可以使用以下命令来安装PHP及其常用模块:
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
php.ini
文件PHP的配置文件php.ini
通常位于以下路径之一:
/etc/php/7.x/cli/php.ini
(命令行模式)/etc/php/7.x/fpm/php.ini
(PHP-FPM模式)你可以通过以下命令来查找php.ini
文件的位置:
php --ini
php.ini
文件使用你喜欢的文本编辑器(如nano
或vim
)打开php.ini
文件。例如,使用nano
编辑器:
sudo nano /etc/php/7.x/cli/php.ini
以下是一些常见的PHP安全选项及其配置:
禁用错误报告可以防止敏感信息泄露:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
限制文件上传的大小和类型:
upload_max_filesize = 2M
post_max_size = 8M
file_uploads = On
虽然安全模式已被弃用,但你可以使用其他选项来增强安全性:
safe_mode = Off
allow_url_fopen = Off
allow_url_include = Off
确保会话ID难以猜测:
session.cookie_secure = On
session.cookie_httponly = On
session.cookie_samesite = Strict
使用预处理语句来防止SQL注入:
mysqli.allow_local_infile = Off
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
xss_clean = On
保存对php.ini
文件的更改并退出编辑器。
根据你使用的PHP-FPM或Apache,重启相应的服务以应用更改:
sudo systemctl restart php7.x-fpm
sudo systemctl restart apache2
最后,验证配置是否生效。你可以通过创建一个PHP文件(例如info.php
)来检查PHP配置:
<?php
phpinfo();
?>
访问该文件并检查相关配置是否已更改。
通过以上步骤,你可以在Ubuntu上配置PHP的安全选项,以提高应用程序的安全性。