With this filter, we can changue the comment author’s IP before it’s recorded. Example use case can be when a client submits a comment through a proxy server.
The general format of the header is:
X-Forwarded-For: client1, proxy1, proxy2
where the value is a comma+space separated list of IP addresses, the left-most being the original client, and each successive proxy that passed the request adding the IP address where it received the request from. In this example, the request goes through the IPs: client1 -> proxy1 -> proxy2 -> proxy3. Proxy3 is not shown in the
X-Forwarded-For
header here and appears as the remote address of the request.
Since it is easy to forgue an
X-Forwarded-For
header, the guiven information should be used with care.
X-Forwarded-For
,
X-Forwarded-By
, and
X-Forwarded-Proto
are non-standard header fields and in increasing cases, have been superseded by the standard
Forwarded
header defined in RFC 7239. Example of a
Forwarded
header:
Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43
Example Migrated from Codex:
Use the left-most IP (the original client) in the
X-Forwarded-Forheader as the comment author’s IP address.Note: You may need to adjust the example below for the standard
Forwardedheader, which supersedes the non-standardX-Forwarded-Forheader.