# 禁止访问 WordPress 安装脚本,并记录日志
location = /wp-admin/install.php {
deny all;
access_log /var/log/nginx/deny.log;
}
# 禁止访问 Nginx 配置文件
location = /nginx.conf {
deny all;
}
# 禁止访问用户扩展目录
location ~ ^/user_extention/ {
deny all;
}
# 禁止访问 .htaccess 文件
location ~ /\.htaccess$ {
deny all;
}
# 禁止访问 WordPress readme 文件
location ~ /readme\.(html|txt)$ {
deny all;
}
# 禁止访问 WordPress 配置文件
location ~ ^/wp-config.php$ {
deny all;
}
# 禁止访问 WordPress admin 和 includes 目录中的 PHP 文件
location ~ ^/wp-admin/includes/ {
deny all;
}
location ~ ^/wp-includes/[^/]+\.php$ {
deny all;
}
# 禁止访问 .git 和 .svn 目录
location ~ ^.*/\.git/.*$ {
deny all;
}
location ~ ^.*/\.svn/.*$ {
deny all;
}
# 禁用 Uploads 目录的 PHP 文件
location ~ ^/wp\-content/uploads/.*\.(?:php[1-7]?|pht|phtml?|phps)$ {
deny all;
}
# 禁用 Plugins 目录的 PHP 文件
location ~ ^/wp\-content/plugins/.*\.(?:php[1-7]?|pht|phtml?|phps)$ {
deny all;
}
# 禁用 Themes 目录的 PHP 文件
location ~ ^/wp\-content/themes/.*\.(?:php[1-7]?|pht|phtml?|phps)$ {
deny all;
}
# 禁用一些文件扩展名,并返回404
location ~ .*\.(ini|zip|7z|rar|tar|gz|sql|conf|bak|asp|aspx|jsp)?$ {
return 404;
}
# 添加安全头
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: https:;";
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
add_header Referrer-Policy "no-referrer-when-downgrade";
# 限制上传文件大小
client_max_body_size 2M;
# 速率限制配置,防止暴力攻击
limit_req_zone $binary_remote_addr zone=login_zone:10m rate=1r/s;
location = /wp-login.php {
limit_req zone=login_zone burst=5 nodelay;
}
# 示例访问控制
# location /wp-admin/ {
# allow 192.168.1.0/24;
# deny all;
# }
THE END
暂无评论内容