溫馨提示×

centos php配置安全設置

小樊
33
2025-05-02 18:54:20
欄目: 編程語言

在CentOS系統中配置PHP的安全設置,可以遵循以下步驟:

1. 更新系統和PHP

首先,確保你的系統和PHP都是最新的。

sudo yum update -y
sudo yum install epel-release -y
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-pear php-bcmath -y

2. 配置PHP-FPM

編輯PHP-FPM的配置文件 /etc/php-fpm.d/www.conf/etc/php-fpm.conf,根據需要進行調整。

; 設置監聽端口
listen = /run/php-fpm/www.sock

; 設置用戶和組
user = apache
group = apache

; 設置最大連接數
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

; 設置請求超時時間
request_terminate_timeout = 60s

; 禁用危險函數
disable_functions = eval, assert, system, shell_exec, passthru, exec, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source

3. 配置PHP安全設置

編輯PHP的主配置文件 /etc/php.ini/etc/php.d/ 目錄下的相關文件。

3.1 設置錯誤報告

display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log

3.2 設置文件上傳限制

file_uploads = On
upload_max_filesize = 10M
post_max_size = 10M

3.3 設置會話安全

session.cookie_httponly = On
session.cookie_secure = On
session.cookie_samesite = Strict

3.4 設置密碼策略

password_hash_default = bcrypt

3.5 禁用危險函數

disable_functions = eval, assert, system, shell_exec, passthru, exec, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source

4. 配置Web服務器

如果你使用的是Apache或Nginx,還需要配置相應的Web服務器。

4.1 Apache

編輯 /etc/httpd/conf/httpd.conf/etc/httpd/conf.d/ 目錄下的相關文件。

<Directory "/var/www/html">
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

4.2 Nginx

編輯 /etc/nginx/nginx.conf/etc/nginx/conf.d/ 目錄下的相關文件。

server {
    listen 80;
    server_name example.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

5. 重啟服務

最后,重啟PHP-FPM和Web服務器以應用更改。

sudo systemctl restart php-fpm
sudo systemctl restart httpd  # 如果使用Apache
# 或者
sudo systemctl restart nginx  # 如果使用Nginx

通過以上步驟,你可以大大提高CentOS系統中PHP的安全性。記得定期檢查和更新你的系統和軟件,以確保安全漏洞得到及時修復。

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