Let me draw your attention to you: if you think this is a security error, try writing an exploit that sets the REMOTE_USER header in your applicationโs request and see what happens.
REMOTE_USER refers to the early days of the Internet, when CGI pages ran locally as the user you came to the web page with. REMOTE_USER is actually the name of a unix environment variable that indicates the active user. As security models for web servers change, this design has been retained for compatibility. Now even IIS supports it for transparently managing Active Directory logins.
All user headers begin with HTTP_ . Otherwise, you could not trust any header information like SERVER_NAME , which would be a huge mess.
source share