【发布时间】:2014-06-20 19:59:28
【问题描述】:
我正在使用 ASP.NET 网络表单,并想获取一个 ip 和 MAC 地址 客户访问我的网站。 有可能吗?
【问题讨论】:
-
为什么需要 MAC 地址?
-
存储在数据库中,这样我就可以注意不会注册双重投票。
-
@AdamB:存储 IP 地址无济于事。个人可以拥有多个 IP,整个国家可以共享一个 IP。
我正在使用 ASP.NET 网络表单,并想获取一个 ip 和 MAC 地址 客户访问我的网站。 有可能吗?
【问题讨论】:
您可以从Request.UserHostAddress获取IP地址。
您无法获取 MAC 地址。
【讨论】:
您可以使用 Request.UserHostAddress 或 Request.ServerVariables["REMOTE_ADDR"] 获取 IP 地址。如果客户端在代理服务器后面,那么您可以尝试使用 ServerVariables["HTTP_X_FORWARDED_FOR"] 获取他的 IP。阅读here 了解更多详情。
除非您的客户端与服务器位于同一物理子网上,否则您无法获取 MAC 地址。获取内网MAC地址
//get all nics
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
//display the physical address of the first nic in the array,
//which should correspond to our mac address
Label1.Text = nics[0].GetPhysicalAddress().ToString();
或阅读更多here。
【讨论】: