expertProduction Hardening, OWASP Top 10 & Best Practices

What's the risk of trusting the X-Forwarded-For header for security decisions?

X-Forwarded-For is just a regular HTTP header that any client can set to an arbitrary value unless your infrastructure (reverse proxy/load balancer) is configured to strip any client-supplied value and set its own trusted value. Using it naively for IP-based rate limiting or geo-restriction can be trivially bypassed by an attacker simply spoofing the header, unless your edge infrastructure guarantees its integrity.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to What is the difference between SAST and DAST, and where does each fit in a CI/CD pipeline?← Back to all Spring Security questions