做一个,比如一天内只能登陆5次这个需求!!!要在网络中标识一个用户,我想根据记录用户登陆的ip地址及电脑名来做!!!获取获取客户端的mac地址!!!请问如何获取客户端的这些信息???
解决方案 »
- Response.Redirect()弹出新页面
- 动态生成控件,每行生成规定的控件
- 问高人:javascript操作串口的问题
- WebPart控件状态保存问题
- 怎实现不关数据库里是什么asp或html 都把其原本显示出来
- 如何不通过事件调用JavaScript函数?
- InitializeComponent() 函数中注册事件
- 想发布个ASP。NET论坛程序(全部原代码),但没有空间,谁能提供
- 大哥大姐,我做出来的ASP.NET 好难看啊。我人长的很帅的,怎么做出来这样呀o(∩_∩)o...
- 谁会用dundas做图表,我有个问题急于解决,还请各位拔刀相助
- 消息弹出框原理??
- 一个SQL SERVER的问题! 两贴一起结,在线等!
客户端的计算机名和Mac地址需要插件的支持。确认客户允许安装插件。
网上有很多示例<HTML>
<HEAD>
<TITLE>WMI Scripting HTML</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
document.forms[0].txtMACAddr.value=unescape(MACAddr);
document.forms[0].txtIPAddr.value=unescape(IPAddr);
document.forms[0].txtDNSName.value=unescape(sDNSName);
//document.formbar.submit();
</SCRIPT><SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
IPAddr = objObject.IPAddress(0);
if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
sDNSName = objObject.DNSHostName;
}
</SCRIPT><META content="Microsoft FrontPage 4.0" name=GENERATOR>
</HEAD>
<BODY>
<OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
<OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
<SCRIPT language=JScript>
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</SCRIPT><FORM id=formfoo name=formbar action= method=post>
<INPUT value="" name=txtMACAddr>
<INPUT value="" name=txtIPAddr>
<INPUT value="" name=txtDNSName>
</FORM>
</BODY>
</HTML>
重新选择其他方法,记录用户一天登录次数
获取IP
http://topic.csdn.net/u/20090617/11/8f0432b6-84ee-49da-a55f-86b3d343ab8b.html
var wshNetwork = new ActiveXObject("WScript.Network");
var computername = wshNetwork.ComputerName ;
}http://msdn.microsoft.com/en-us/library/s6wt333f(VS.85).aspx
是这样的吗??
[DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip); private void Page_Load(object sender, System.EventArgs e)
{
try
{
string userip = Request.UserHostAddress;
string strClientIP = Request.UserHostAddress.ToString().Trim();
Int32 ldest = inet_addr(strClientIP);
Int32 lhost = inet_addr("");
Int64 macinfo = new Int64();
Int32 len = 6;
int res = SendARP(ldest, 0, ref macinfo, ref len);
string mac_src = macinfo.ToString("X");
if (mac_src == "0")
{
if (userip == "127.0.0.1")
Response.Write("");
else
Response.Write("" + userip + "" + "<br>");
return;
} while (mac_src.Length < 12)
{
mac_src = mac_src.Insert(0, "0");
} string mac_dest = ""; for (int i = 0; i < 11; i++)
{
if (0 == (i % 2))
{
if (i == 10)
{
mac_dest = mac_dest.Insert(0, mac_src.Substring(i, 2));
}
else
{
mac_dest = "-" + mac_dest.Insert(0, mac_src.Substring(i, 2));
}
}
} }
catch (Exception err)
{
Response.Write(err.Message);
}
}我发布网站后没有获取到客户端的mac地址。。
并且在同一个局域往里面我们现实的ip地址是一样的。。我想做的是即使在一个局域网里面也可以区别出不同的用户,该怎么做???谢谢~
一般人只要你提示写清楚了就懒得去登了
http://item.taobao.com/item.htm?id=9102118368
/// <summary>
/// 获取IP地址
/// </summary>
public static string IPAddress()
{
string userIP;
// HttpRequest Request = HttpContext.Current.Request;
HttpRequest Request = HttpContext.Current.Request; // ForumContext.Current.Context.Request;
// 如果使用代理,获取真实IP
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
userIP = Request.ServerVariables["REMOTE_ADDR"];
else
userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (userIP == null || userIP == "")
userIP = Request.UserHostAddress;
return userIP; }
#endregion
没有错。过去有些宽带提供商用来控制客户最多只能有几台电脑上网(即使在自己家里的路由器后边),使用的就是在他们的路由器上为客户的网络访问加入cookie来判断。
{
// 优先取得代理IP
string userHostAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(userHostAddress))
{
//没有代理IP则直接取客户端IP
userHostAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if ((userHostAddress != null) && !(userHostAddress == string.Empty))
{
return userHostAddress;
}
return "0.0.0.0";
}
和20楼的代码不是一样的吗??#region 获取IP
/// <summary>
/// 获取IP地址
/// </summary>
public static string IPAddress()
{
string userIP;
// HttpRequest Request = HttpContext.Current.Request;
HttpRequest Request = HttpContext.Current.Request; // ForumContext.Current.Context.Request;
// 如果使用代理,获取真实IP
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
userIP = Request.ServerVariables["REMOTE_ADDR"];
else
userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (userIP == null || userIP == "")
userIP = Request.UserHostAddress;
return userIP; }
#endregion