|
最常用、最安全、直接复制就能用的 Nginx + Apache 网站目录禁止访问代码,不管你用哪种服务器,直接贴配置就能生效。
一、Nginx 环境(最常用)
nginx # 禁止访问 /includes 目录 location ~ ^/includes/ { deny all; } # 禁止访问 /config 目录 location ~ ^/config/ { deny all; } 2. 禁止访问所有。开头的隐藏目录 / 文件(.git、.env 等) nginx location ~ /\. { deny all; access_log off; } 3. 禁止访问指定后缀文件(.sql、.log、.ini、.bak 等) nginx location ~* \.(sql|log|ini|bak|config|py|php~)$ { deny all; } 4. 只允许本地访问(后台目录专用) nginx location /admin/ { allow 127.0.0.1; deny all; } 二、Apache 环境(.htaccess) 1. 禁止访问整个目录 创建 .htaccess 放到要禁止的目录里: apache Order Allow,Deny Deny from all 2. 禁止访问指定文件类型 apache <FilesMatch "\.(sql|log|ini|bak|config)$"> Order Allow,Deny Deny from all </FilesMatch> 3. 禁止访问 .git、.env 等隐藏文件 apache <FilesMatch "^\."> Order Allow,Deny Deny from all </FilesMatch> 三、通用安全规则(所有网站必加) 不管 Nginx 还是 Apache,必须禁止访问这些文件: .env .git vendor/ config/ *.sql *.log *.bak *.ini 总结 Nginx 用 location + deny all Apache 用 .htaccess + Deny from all 隐藏目录 / 敏感文件必须禁止访问,否则会泄露源码、数据库、密钥 (责任编辑:亚垚) |

