# Nginx UI Template Start name = "WordPress Security" author = "@sanvu88" description = { en = "WordPress Security Config", zh_CN = "WordPress 安全配置", vi_VN = "Cấu hình bảo mật cho WordPress"} [variables.blockUserAPI] type = "boolean" name = { en = "Block WordPress User API", zh_CN = "禁用用户 API", vi_VN = "Chặn truy cập danh sách user"} value = true [variables.blockXMLRPC] type = "boolean" name = { en = "Block WordPress XMLRPC", zh_CN = "禁用 XMLRPC", vi_VN = "Chặn truy cập xmlrpc.php"} value = true # Nginx UI Template End {{- if .blockUserAPI }} location ~* /wp-json/wp/v2/users { return 444; } {{- end }} {{- if .blockXMLRPC }} location = /xmlrpc.php { return 444; } {{- end }} location ~* wp-admin/includes { return 444; } location ~* wp-includes/theme-compat { return 444; } location /wp-includes/ { location ~ \.(gz|tar|bzip2|7z|php|php5|php7|log|error|py|pl|kid|love|cgi|shtml|phps|pht|jsp|asp|sh|bash)$ { access_log off; log_not_found off; return 444; } } location /wp-content/uploads/ { location ~ \.(gz|tar|bzip2|7z|php|php5|php7|log|error|py|pl|kid|love|cgi|shtml|phps|pht|jsp|asp|sh|bash)$ { access_log off; log_not_found off; return 444; } } location /wp-content/cache/ { location ~ \.(php|php5|php7|log|error|py|pl|kid|love|cgi|shtml|phps|pht|jsp|asp|sh|bash)$ { access_log off; log_not_found off; return 444; } } location /wp-content/plugins/ { location ~ \.(htm|shtml|php|swf|phps|pht|log|error|py|pl|kid|love|cgi|jsp|asp|sh|bash)$ { access_log off; log_not_found off; return 444; } } location /wp-content/plugins/onesignal-free-web-push-notifications/ { access_log off; log_not_found off; allow all; } location /wp-content/updraft/ { access_log off; log_not_found off; return 444; } location /wp-content/backups-dup-pro/ { access_log off; log_not_found off; return 444; } location /wp-snapshots/ { access_log off; log_not_found off; return 444; } location /wp-content/uploads/sucuri/ { access_log off; log_not_found off; return 444; } location /wp-content/uploads/nginx-helper/ { access_log off; log_not_found off; return 444; } location ~* ^/(?:wp-links-opml\.php|wp-config\.php|wp-config-sample\.php|readme\.html|license\.txt)$ { access_log off; log_not_found off; return 444; }