一些 HTTP 代理使用X-Forwarded-For标头来识别客户端的 IP 地址。wiki 页面(上面链接)提到 ISP 也可能使用此标头。
此外,还有多种附加标头可用于识别客户端。一些例子包括:
- HTTP_CLIENT_IP
- HTTP_X_FORWARDED_FOR 可以是逗号分隔的 IP 列表
- HTTP_X_FORWARDED
- HTTP_X_CLUSTER_CLIENT_IP
- HTTP_FORWARDED_FOR
- HTTP_FORWARDED
我可以使用这些标头中的任何一个来进行访问控制、阻止或允许访问我的网站吗?
例如,以升级方式阻止:HTTP_Header_X 先是客户端 IP?这些标头的已知用途是什么?例如 ISP、Squid 等代理软件等。
然后我在考虑一些 Web 服务器可能会根据这些标头的存在(或缺乏)动态地改变它们的响应。假设服务器按 IP 地址禁止用户。它应该根据收到的 IP 还是在此标头中指定的 IP 禁止用户?然后,我考虑了欺骗此标头的可能性,以解决服务器可能施加的 IP 禁令。
- 这些标头可能存在哪些安全问题,解决它的适当方法是什么?
例如包括与日志记录等相关的内容。