X-Forwarded-For Header 的边缘案例?

Edge Cases for the X-Forwarded-For Header?

我想知道 X-Forwarded-For header 的边缘情况是什么。通常它的格式为 X-Forwarded-For: client, proxy1, proxy2

由于这是我们谈论的 Http,并且服务器需要尊重自然界中存在的所有怪异现象,所以我想知道存在哪些边缘情况。

通常 header 包含 IP 地址(据我所知),但它还能包含什么?有些客户使用域名吗?列表中可以有空条目吗?任何人都看到了不同于 IP 的东西?

虽然 HTTP 协议对此 header (https://www.rfc-editor.org/rfc/rfc7239#section-6) 的支持值给出了详尽的描述,但服务器应该为来自客户端的任何内容做好准备。
因此,您应该期望 header 有效地具有 any 可能的值。

如果它不是 RFC 中定义的节点标识符列表,它很可能是客户端伪造的,最好的做法是 return 错误 400(错误请求) .

我只看到了 IP 地址。尽管如此,它仍然不是 "real" 标准,并且正如您所说,"server needs to respect all the weirdness that exists in the wild"。答案显而易见:

有些客户使用域名吗?

列表中可以有空条目吗?

有谁见过与IP不同的东西吗?

我没有看到,我什至没有尝试去寻找。