如果 HTTP_X_FORWARDED_FOR 包含多个 IP 地址,如何从 HTTP_X_FORWARDED_FOR 获取正确的 IP?

2023-12-31

如果 Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 返回多个 ip,我应该采用哪一个,以及在 C# 中如何执行?据我了解,如果它为空或为空,则客户端计算机不会通过代理,我可以从 Request.ServerVariables["REMOTE_ADDR"] 获取它们的 IP。这是正确的说法吗?

我所说的“我要选择哪一个”,是指我要选择列表中的第一个 IP 还是最后一个 IP,我所要做的就是将其拆分为一个数组并选择我想要的 IP。我不太确定 HTTP_X_FORWARDED_FOR 是如何工作的。


根据this https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For,X-Forwarded-For HTTP 标头的格式为:

X-Forwarded-For: client1, proxy1, proxy2, ...

因此,您想要的客户端的 IP 地址应该是列表中的第一个

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 HTTP_X_FORWARDED_FOR 包含多个 IP 地址,如何从 HTTP_X_FORWARDED_FOR 获取正确的 IP? 的相关文章

随机推荐

  • 获取前台应用程序图标转换为base64

    我正在尝试获取前台应用程序图标并将其转换为 base64 我可以获取前台应用程序的名称 但无法获取图标 当我对其进行编码时 我得到一个字符串 但它不是图标 我不确定我的错误在哪里 这是我的代码 public class RunningSer
  • 在 WCF REST 序列化之前将 System.IO.Stream 转换为数据传输对象?

    这个问题建立在之前的问题的基础上 尽管偏离主题 我昨天问过 https stackoverflow com questions 4889439 getting a type specific response from a wcf rest
  • postgresql中的round函数究竟是如何工作的?

    postgresql中的round函数实际上是如何工作的 下面的查询展示了奇怪的行为 SQL DEMO http rextester com IHQ94614 select val Round x val NUMERIC as NUMERI
  • 带有文件 I/O 和数组列表的 JTable

    在我的程序中 用户输入单词及其相应的定义 该用户定义对象的一个 示例是 面容 人脸 用户的单词存储在一个与文件 I O 一起使用的数组列表中 但是 每次我调用 prepareTable 方法时 程序 将文本文件中找到的单词的重复项添加到数组
  • URL 的正则表达式

    下面发布的正则表达式用于获取 URL 包括以下格式的 URL example com 但是 我希望它只获取具有www or http https等在前面 换句话说 它应该拾起www example com 它不应该拾取example com
  • TreeMap 中的键返回 null

    所以我有一个非常奇怪的错误 当我最初使用 keySet 迭代大型 TreeMap 的前 10 个键时 我偶然发现了它 其中一个键返回 null 据我的理解 这应该是不可能的 所以我写了下面的测试代码 int i 0 for Map Entr
  • 如何将双引号字符串与转义双引号字符匹配?

    我需要一个 Perl 正则表达式来匹配字符串 我假设只有双引号字符串 是文字引号字符 而不是字符串的结尾 而 是文字反斜杠字符 不应转义引号字符 如果不清楚 有些例子 string is 1 character long contains
  • Datastax cassandra 存在性能问题

    我已经在两台独立的机器上安装了 datastax Cassandra 一台具有 16GB RAM 另一台具有 32GB RAM 并采用大部分默认配置 我创建了一个包含大约 700 列的表 当我尝试使用 java 插入记录时 它每 30 秒能
  • ASP.Net MVC 操作结果是什么?

    是否有所有 ASP Net MVC 操作结果及其用途的列表 我一直忙于使用 ActionResult 来处理几乎所有事情 但我知道这是不正确的 我应该使用更具体的操作结果 我用谷歌搜索过这个但找不到列表 我们刚刚购买了 Wrox 的书 但距
  • 在 XAML 中访问 c​​ontroltemplate 中元素的属性

    我想使用由图像和标签组成的模板化 ComboBoxItems 如果我将模板分配给 ComboBoxItem 我可以以某种方式设置图像的源属性吗 目标是对不同的 ComboBoxItems 使用相同的模板 但每个 Item 中使用不同的图片
  • 使用 Google Drive Api v2 选择特定字段

    我有一个错误 Google Apis Requests RequestErrorInvalid field selection filesize 400 Errors Message Invalid field selection file
  • 如何检测变量值何时发生变化

    如何轻松检测变量值何时发生变化 我希望每当指定的变量更改值时 程序的执行就会在调试器上中断 现在我正在使用 Eclipse 的调试器 对于类或实例变量 右键单击大纲视图中的变量 选择 切换观察点 然后 在断点视图中 您可以右键单击生成的结果
  • G++ 为未使用的模板特化生成代码?

    在我正在处理的项目的一些序列化代码中 我有一个类型 其大小取决于编译器 为了解决这个问题 我决定使用模板专业化 效果很好 一切都在编译时解决 代码看起来有点像这样 不是真正的代码 只是一个例子 template
  • 角度种子 web-script.js 和 cors

    我已经第二天了 我试图从外部域获取一些 json 但我打破了 CORS 我几乎确定如何在 AngularJS 资源中使用 JSONP https stackoverflow com questions 20025711 how to use
  • 适用于 UWP 的 Google API 与自定义重定向方案配合不佳

    我正在编写一个可与 Google Drive API 配合使用的 UWP 应用程序 我的问题似乎出在 Google 针对 UWP 应用程序的糟糕文档 在文档中它指出 此外 您可以使用客户端 ID 的反向 DNS 概念作为自定义 URI 方案
  • 如何在WebView中打开视频播放器?

    我有一个带有 Webview 的 WebApp 在这些页面中 我有一些视频链接 MP4 3GP 当我点击链接时 没有任何反应 public class luxgateway extends Activity WebView myWebVie
  • 具有属性的 Maven 版本

    我有大约 400 个插件的大型 Maven Tycho 项目 我们在每个 POM 文件中指定了应用程序的版本 有没有一种方法可以仅在一个地方指定所有 POM s 的版本 我希望有些人会这样想
  • MySQL 中布尔值的 Boolean 与tinyint(1)

    在 MySQL 数据库中 哪种列类型最适合用于布尔值 我用boolean但我的同事使用tinyint 1 这些数据类型是同义词
  • 将动态生成的复选框添加到react-table并捕获行数据

    我在使用此反应表包向行添加复选框时遇到问题https react table js org story readme https react table js org story readme 我正在尝试向表中的每一行添加一个复选框 我尝试
  • 如果 HTTP_X_FORWARDED_FOR 包含多个 IP 地址,如何从 HTTP_X_FORWARDED_FOR 获取正确的 IP?

    如果 Request ServerVariables HTTP X FORWARDED FOR 返回多个 ip 我应该采用哪一个 以及在 C 中如何执行 据我了解 如果它为空或为空 则客户端计算机不会通过代理 我可以从 Request Se