如何用javascript取得客户端ip

lzhm 2002-09-14 07:00:03
现在我的服务器在公众网上,而我的用户主要是我们局域网内的用户,我想记录一下来访者的ip,但是我们局域网内的ip出去之后都显示为一个固定的ip,应该是用了防火墙或者什么,隐藏了局域网的内部ip,所以想用javascript 直接从客户端取得,但是又不知道如何实现,希望高手指点!谢谢!
...全文
308 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzhm 2002-09-20
  • 打赏
  • 举报
回复
谢谢各位的回复,我现在已经把服务直接转到局域网内的服务器上,问题已经解决。
beming 2002-09-16
  • 打赏
  • 举报
回复
的确,看要求吧
rohn 2002-09-16
  • 打赏
  • 举报
回复
无聊的问题,无聊的做法,如果你是在本地运行还有点意义,在公网上跑就是钻牛角尖了,况且浏览器的安全设置会限制你的运行,如果不是用IE呢?
yonghengdizhen 2002-09-16
  • 打赏
  • 举报
回复
强烈同意..

但知道方法总还是有点好处的.wscript.shell可以做的.
kkyys 2002-09-15
  • 打赏
  • 举报
回复
下边这个代码可以运行但是怎么关闭DOS,或在后台运行?

<script>
function getIP(bat,txt){
var fso=new ActiveXObject("Scripting.FileSystemObject")
var f=fso.createTextFile(bat,1);
f.writeLine("ipconfig>"+txt);
f.Close();
var wsh=new ActiveXObject("wscript.shell");
wsh.run(bat)
setTimeout(display,1000)
function display(){
var f=fso.openTextFile(txt);
alert(f.ReadAll());
f.Close();
fso.DeleteFile(bat);
fso.DeleteFile(txt);
}
}
getIP("qswhIP.bat","qswhIP.txt")
</script>
qiushuiwuhen 2002-09-15
  • 打赏
  • 举报
回复
1.
<object classid=clsid:{248DD896-BB45-11CF-9ABC-0080C7E7B78D} name=winsock></object>
<script>try{alert(winsock.localIP)}catch(e){alert("没安装该控件")}</script>

2.
<script>
function getIP(bat,txt){
var fso=new ActiveXObject("Scripting.FileSystemObject")
var f=fso.createTextFile(bat,1);
f.writeLine("ipconfig>"+txt);
f.Close();
var wsh=new ActiveXObject("wscript.shell");
wsh.run(bat)
setTimeout(display,1000)
function display(){
var f=fso.openTextFile(txt);
alert(f.ReadAll());
f.Close();
fso.DeleteFile(bat);
fso.DeleteFile(txt);
}
}
getIP("qswhIP.bat","qswhIP.txt")
</script>
wjmmml 2002-09-15
  • 打赏
  • 举报
回复
<object classid=clsid:{248DD896-BB45-11CF-9ABC-0080C7E7B78D} name=winsock onerror='alert("没安装该控件")'></object>
<script>alert(winsock.localIP)</script>
fxw 2002-09-15
  • 打赏
  • 举报
回复

我不赞成用在web页面上用ActiveX技术。

Internet上的IP用服务端程序可以获得;
如果你记录“局域网中的IP”是为了辨别(记录)身份,使用用户注册机制应该更合理,这样就没必要知道具体的“局域网中的IP”(我认为记录局域网中的IP实在没有什么别的用处);
如果你实在想记录局域网中的IP且公司的网站在局域网中那也是可以的:在公司内PC的web浏览器中设置公司的网站不通过代理服务器访问,你的服务端程序就可取得局域网中的IP了。

lzhm 2002-09-14
  • 打赏
  • 举报
回复
没有用过,而且我的服务器也不支持。
xizi2002 2002-09-14
  • 打赏
  • 举报
回复
用php吧
lzhm 2002-09-14
  • 打赏
  • 举报
回复
你好,你所说的这几种方法我都试过了,达不到我的要求。不过,还是谢谢您的帮助,分数还是回给的。
qiushuiwuhen 2002-09-14
  • 打赏
  • 举报
回复
asp try
Request.ServerVariables("HTTP_X_FORWARDED_FOR")

javascript有两种方法
1.winsock object
2.wsh运行ipconfig写入一文件,然后FSO读取文件内容(客户端安全允许)
kkyys 2002-09-14
  • 打赏
  • 举报
回复
关注!

87,996

社区成员

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

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