Javascript如何获取访问者IP地址

BuleMiniCoper 2008-09-01 10:07:30
Javascript如何获取访问者IP地址?
...全文
3335 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
挨踢直男 2012-06-13
  • 打赏
  • 举报
回复
在服务器端获取,然后传给javascript
因为服务器端代码要比客户端代码选执行
xuxubaby 2012-06-13
  • 打赏
  • 举报
回复
学习。。。。。
非典型宅男c 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
HTML code

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript获取客户端IP</title>
</head>

<body>
<script type="text/javascript" language="javas……
[/Quote]
为什么吧这段代码改成Jsp之后会抛异常?
似梦飞花 2012-06-13
  • 打赏
  • 举报
回复
jsp或servlet的request对象有个方法倒是可以获得客户端ip,Activex没用过,貌似是只有ie能用吧?
zhengning34 2012-06-13
  • 打赏
  • 举报
回复
location.hostname
qgqch2008 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cftea 的回复:]

HTML code
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript获取客户端IP</title>
</head>

<body>
<script type="text/javascript" language="javascript">
<……
[/Quote]擦擦……
正好用到,谢谢!
ifengshow 2010-07-21
  • 打赏
  • 举报
回复
学习了,谢谢
wwfgu00ing 2010-07-21
  • 打赏
  • 举报
回复
正解,就不用我说了
wqkjj 2010-07-20
  • 打赏
  • 举报
回复
为何不在服务器端获取客户端的IP地址呀,还要客户端使用Activex控件?
ywb888 2010-07-20
  • 打赏
  • 举报
回复
本来就是为了秘密获取客户端的地址,结果还要客户自己设置浏览器Active控件的允许,这样有什么秘密可言?
xaxx 2008-09-02
  • 打赏
  • 举报
回复
我把cftea的代码保存成html,放在服务器上。
可访问这个文件的时候IP 没显示出来.
有谁知道怎么回事啊。
直接运行这个文件倒是能显示IP。
xaxx 2008-09-02
  • 打赏
  • 举报
回复
解决了,似乎是IE 设置的问题,把所有ActiveX控件有关的选项改称“启用”就可以了。
sxntree 2008-09-01
  • 打赏
  • 举报
回复
xue xi
cftea 2008-09-01
  • 打赏
  • 举报
回复
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript获取客户端IP</title>
</head>

<body>
<script type="text/javascript" language="javascript">
<!--
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//异常发生
}

return rslt;
}

document.write("你的IP是:" + GetLocalIPAddress());
//-->
</script>
</body>

</html>
Hello World, 2008-09-01
  • 打赏
  • 举报
回复
转贴一个:

在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。在ASP.NET中,要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用JavaScript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。
  具体实现的html和JavaScript如下:

  关键是用到两个ActiveX:

  <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
  <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>

  不过这两个ActiveX都是系统自带,不用去下载或注册。

  接下来的工作就是用脚本和ActiveX交互,脚本可以是js或Vbs。


<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="MSHTML 6.00.2800.1106" 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=NICPost.asp method=post><INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr> <INPUT value=192.168.0.2 name=txtIPAddr> <INPUT value=typ name=txtDNSName> </FORM></BODY></HTML>

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧