/xmlrpc.php — exploited for DDoS amplification and brute-force/?author=N — prevents username harvestingwp-content/uploads/ — prevents webshell upload exploitationwp-config.php, .env, .htaccess, .gitX-Powered-By header and remove ?ver= query strings from assets/wp-login.php per IP per minute to prevent brute-forceDISALLOW_FILE_EDIT is not set in wp-config.phpX-Real-IP & X-Forwarded-For. Without this, login rate-limiting is ineffective — all requests appear to originate from the WafX IP.X-Forwarded-Proto: $scheme. Without this, WordPress treats the connection as HTTP → redirect loop, missing cookie Secure flag, mixed content.proxy_set_header Host $host. Without this, the site is vulnerable to Host Header Injection — attackers can poison password-reset links and emails.Server, X-Powered-By, X-Generator, X-WP-Nonce from responses — prevents backend stack fingerprinting.TRACE and CONNECT. TRACE can expose session cookies via XST (Cross-Site Tracing).proxy_buffering on. Improves performance — disable if the backend requires streaming responses (SSE / ndjson).define('FORCE_SSL_ADMIN', true);if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }
/etc/nginx/conf.d/wafx_wp_*.conf and reloads nginx.
Disable the plugin to remove the snippet.
# Configure and click "Apply to nginx" to generate the snippet.