You need to enable JavaScript to run this app.
DDoS防护

DDoS防护

复制全文
最佳实践
获取网站业务请求来源 IP
复制全文
获取网站业务请求来源 IP

如果您的业务通过网站方式接入 DDoS 高防实例,则访问请求经过 DDoS 高防转发到源站,源站会默认将 DDoS 高防的回源 IP 视为请求来源,而真实的请求来源 IP 被记录在 HTTP 头部的X-Forwarded-For字段中。本文介绍如何获取真实的请求来源 IP。

背景信息

在使用代理服务器的请求中,X-Forwarded-For字段记录了真实请求来源 IP 和所有经过的代理服务器 IP。

  • 如果您的访问请求到源站之间经过高防代理服务器,则 HTTP 头部的X-Forwarded-For字段记录真实的请求来源 IP 和高防代理 IP。格式为X-Forwarded-For: 真实请求来源 IP, 高防代理 IP
  • 如果您的访问请求到源站之间经过多台代理服务器(例如 Web 应用防火墙、内容分发网络等代理服务器),则 HTTP 头部的X-Forwarded-For字段记录真实的请求来源 IP 和所有经过的代理服务器 IP。格式为X-Forwarded-For: 真实请求来源 IP, 代理服务器 1 的 IP, 代理服务器 2 的 IP, ...

因此,常见的网站业务服务器都可以通过X-Forwarded-For字段的内容获取真实的请求来源IP。

获取方式

下文介绍不同编程语言对应的X-Forwarded-For字段获取方式。

  1. 执行以下代码查询X-Forwarded-For

    • ASP.NET(C#)
    Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
    
    • ASP
    Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    
    • JSP
    request.getHeader("HTTP_X_FORWARDED_FOR")
    
  • PHP
    $_SERVER["HTTP_X_FORWARDED_FOR"]
    
  1. 获取到X-Forwarded-For字段的内容后,找到第一个 IP 地址,即为真实的请求来源 IP。
    例如在X-Forwarded-For: 192.1.0.0, 172.1.0.0, 172.1.0.2中,192.1.0.0即为真实请求来源 IP。
最近更新时间:2024.09.09 14:34:19
这个页面对您有帮助吗?
有用
有用
无用
无用