Web技術
X-Forwarded-***は古いのか

あるCTFの問題の解法で、X-Forwarded-Hostを使うものがありました。
いろいろ調べていると、X-Forwarded-Forの派生ヘッダのようでした。
改めてXFFに関するMDNのドキュメントを読むと、以下の記述がありました。
「X-Forwarded-For (XFF) ヘッダーは、 HTTP プロキシーサーバーを通過してウェブサーバーへ接続したクライアントの、送信元 IP アドレスを特定するために事実上の標準となっているヘッダーです。」
確かに、接頭辞に「X-」を持つヘッダは非標準のヘッダを示すときに使われるものなので、RFCに定義されているものではないはずです。
調べていくと、RFCとして正しいのは、「Fowarded」ヘッダを使うことのようです。
Forwarded: by=<identifier>;for=<identifier>;host=<host>;proto=<http|https>
https://developer.mozilla.org/ja/docs/Web/HTTP/Reference/Headers/Forwarded
複数のミドルボックスを経由する場合には、[ , ]で値が入るようです。
先述の通り、RFCとして正しいのはForwardedヘッダですが、現場では一切耳にしたことがありません。
まとめ
RFCではForwarded、実運用ではX-Forwarded-***となる認識でいいようです。
ヘッダ名は違っても、ヘッダ偽装対策は必要というのは変わらなそうです。
技術者によっては、XFFで処理してくれるのかと質問されることがあるかもしれないので、覚えておこうと思います。