用户登录时获取本机IP地址和MAC地址
用户登录时获取本机IP地址和MAC地址,并且验证是否和sql数据库中的IP地址相同,相同登录。
protected string GetIP() //获取本地IP
{
IPHostEntry ipHost = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddr = ipHost.AddressList[0];
return ipAddr.ToString();
}
请各位给个获取本机MAC地址的方法。
[解决办法]
你这代码是在服务器端运行的,每个人的结果都一样的。
你能得到的是客户端ip,
[解决办法]
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
這個WMI對象是你本机的,也就是服务器的,
这段代码是获取服务器的.
如果是ASP.NET程式,不使用ActiveX,仅能从request,Context获取客户端的IP,而且这个IP,在没有代理的情况下是客户端IP,如果客户端使用了Proxy连入的话,获取的是Proxy Server的IP
而使用ActiveX抓去客户端的Mac地址的方法,并不推荐,有安全性问题,而且不是Any Browser通用.
[解决办法]
string strClient = System.Web.HttpContext.Current.User.Identity.Name.Trim()
具体看 System.Web.HttpContext.Current.User下面的属性
[解决办法]
HttpRequest 下面有个UserHostAddress 属性 看能读到IP不
[解决办法]
IP = Request.UserHostAddress;
Mac是获取不到的,放弃吧骚年
[解决办法]
/// <summary>
/// 获取网卡MAC地址
/// 注意:当计算机未联网或网卡被禁用时无法获取MAC地址
/// </summary>
/// <returns></returns>
public static string GetMacAddress()
{
string strMAC = "";
try
{
ManagementClass mcMAC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection mocMAC = mcMAC.GetInstances();
foreach (ManagementObject m in mocMAC)
{
if ((bool)m["IPEnabled"])
{
strMAC = m["MacAddress"].ToString().Trim();
break;
}
}
mocMAC.Dispose();
mcMAC.Dispose();
}
catch
{
strMAC = "";
}
return strMAC;
}