c# - 获取 ASMX Web 服务上客户端的 IP 地址

标签 c# asp.net asmx

我正在尝试通过验证调用者的 IP 地址来验证 Web 服务。 Web 服务应该位于网络内部。

并且在尝试这样做时,HttpContext.Current.Request.UserHostAddress有一个奇怪的值,例如“::1”

请参阅下面的调试点屏幕截图。

enter image description here

问题:

  1. 为什么这不起作用并无法提供正确的客户端 IP?
  2. 是否有更好的方法来验证内部客户端的 Web 服务?

提前致谢。

最佳答案

  1. 为什么这不起作用并无法提供正确的客户端 IP?

它确实在工作,您看到“::1”,因为它是 ipv6 AKA localhost 或 ipv4 中的 127.0.0.1 的保留环回地址

IPv6

The loopback address, 0000:0000:0000:0000:0000:0000:0000:0001, may be abbreviated to ::1 by using both rules.

  • 是否有更好的方法来验证内部客户端的 Web 服务?
  • 您必须了解身份验证和授权之间的区别,我建议您创建一个新问题,其中包含有关您在网络服务中使用的身份验证方法的更多详细信息

    关于c# - 获取 ASMX Web 服务上客户端的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26227571/

    相关文章:

    c# - 在 PictureBox 上画线

    c# - 无法将类型 'System.Data.DataRowView' 的对象强制转换为类型 'System.Data.DataRow'

    iis-7 - 如何为 ASMX 服务强制实现 HTTPS

    asp.net - 如何在 ASP.Net Web 窗体应用程序中从 Jquery 安全地调用用于内部目的的 Web 服务 (.asmx)?

    json - 从 ASMX Web 服务返回 JSON,没有 XML 包装器?

    c# - 使用 asp.net 下载文件

    c# - 编写具有远程 shell 功能的程序,如 netcat

    c# - 当我使用 using 对象时,我应该在退出 using block 之前处理该对象吗?

    asp.net - Web 保护 ASP.NET 网站

    Jquery UI 模态表单示例按钮单击不起作用