【发布时间】:2017-12-29 02:30:02
【问题描述】:
您好,我正在学校登录一个安全网站,但它都是基于本地主机的。
我正在寻找真正捕获访问我网站的人。我实际上想捕获该人正在使用的任何机器的外部 IP 地址。例如,当我运行我的网站并点击一个按钮时,它会立即捕获我的外部 IP 地址。
坦率地说,我在 IP 地址这方面的知识并不多,但我对我在网络模块中学到的客户端、服务器、IP 地址、端口号等有足够的了解。
为了提供更多信息,当您访问website to check IP address 或任何其他您的 ip 网站时,您将获得您的外部 IP 地址。我实际上想捕获这个 IP 地址并将其保存到我的数据库中。
我确实对 stackoverflow、codeproject 进行了研究,无论我能从中找到什么帮助,但它总是返回 ::1,我认为它是 127.0.0.1 我们的默认本地主机地址?
我已经在下面尝试了所有这些来试验它们产生的效果..
protected void getIP_Click(object sender, EventArgs e)
{
String hostName = System.Net.Dns.GetHostName();
String clientIpAddressHostName = System.Net.Dns.GetHostAddresses(hostName).GetValue(0).ToString();
IP1.Text = clientIpAddressHostName;
String clientIpAddress = HttpContext.Current.Request.ServerVariables["REMOTE_HOST"].ToString();
IP2.Text = clientIpAddress;
String ip = null;
if (String.IsNullOrEmpty(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]))
{
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
IP3.Text = ip;
String ipNext = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
IP4.Text = ipNext;
String ipNextNext = HttpContext.Current.Request.UserHostAddress;
IP5.Text = ipNextNext;
String last = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.GetValue(0).ToString();
IP6.Text = last;
}
我还在网上读到,我实际上可以根据以下来自 stackoverflow 的答案从网站的外部来源获取我的外部 IP 地址
但我没有尝试过,因为我认为这不是一种安全的方法?如果我错了,请纠正我..
在高低搜索之后仍然无法得到我正在寻找的东西..
有人可以帮忙吗?非常感谢任何帮助!
【问题讨论】:
标签: c# asp.net ip localhost ip-address