【发布时间】:2014-08-12 15:18:01
【问题描述】:
我正在使用 ASP.NET C# 开发软件,我希望仅允许来自特定机器的用户登录该软件,即我希望用户从他的办公室计算机登录,但不应允许他登录从他的家用计算机或任何其他计算机访问该网站。为此,我尝试使用 C# 中的代码获取客户端计算机的 mac 地址,但此代码仅返回服务器的 mac 地址。另外,我在互联网上读到获取客户端计算机的mac地址效率低下。所以我想知道是否有更好的方法来从服务器识别客户端计算机。我正在使用以下代码。
string macAddresses = "";
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
if (nic.OperationalStatus == OperationalStatus.Up)
{
macAddresses += nic.GetPhysicalAddress().ToString();
break;
}
}
Response.Write( macAddresses);
【问题讨论】:
-
getting mac address of client computer is inefficient除非客户明确传递它,否则您无法获取它.. -
我不确定您是否会获得任何客户端计算机详细信息。这是违反安全规定的,所以我认为是不允许的。
-
每个人都想得到运行浏览器的“客户端计算机的识别”……但是当他们自己的计算机被“识别”时,也没有人愿意提供这样的信息。除非人们乐于在任何地方被跟踪,否则您将很难获得这些信息,因为安全措施限制了浏览器对此类信息的访问。
-
是否可以识别计算机或办公室的 IP 地址,因为我希望客户端仅在办公场所内或仅使用办公室计算机登录。
-
是的,IP 是可能的。查看关闭原因...