centos下php安全设置方法
以下是CentOS下PHP安全设置方法:
-
更新系统和PHP
sudo yum update -y sudo yum install epel-release -y sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring -y # 安装必要模块
-
配置PHP安全参数
编辑/etc/php.ini
:- 错误处理:关闭错误显示,记录日志
display_errors = Off log_errors = On error_log = /var/log/php_errors.log
- 文件上传限制
file_uploads = On upload_max_filesize = 2M post_max_size = 8M
- 会话安全
session.cookie_httponly = On session.cookie_secure = On session.cookie_samesite = Strict
- 禁用危险函数(根据实际需求选择)
disable_functions = eval,exec,shell_exec,passthru,curl_exec
- 错误处理:关闭错误显示,记录日志
-
配置PHP-FPM(如使用)
编辑/etc/php-fpm.d/www.conf
:- 设置非root用户运行
user = apache group = apache listen.owner = apache listen.group = apache listen.mode = 0660
- 限制可执行文件类型
security.limit_extensions = .php
- 设置非root用户运行
-
启用防火墙与HTTPS
- 配置
firewalld
开放HTTP/HTTPS端口sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
- 安装SSL证书(以Nginx为例)
sudo yum install mod_ssl sudo vi /etc/nginx/conf.d/ssl.conf # 配置证书路径 sudo systemctl restart nginx
- 配置
-
安装安全模块(可选)
- 启用ModSecurity(Web应用防火墙)
sudo yum install mod_security sudo systemctl enable mod_security
- 启用ModSecurity(Web应用防火墙)
-
定期维护
- 定期更新系统和软件包
- 备份网站数据与数据库
- 监控日志文件(如
/var/log/php_errors.log
)
注意:部分配置(如disable_functions
)需根据实际应用调整,避免影响正常功能。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!