社区
C#
帖子详情
在网页中,怎么获取客户端当前计算机的登录用户? 急..
MyLf
2006-03-04 12:02:59
如题。
在google和baidu搜索了,好像没有相关的资料。。。
...全文
494
25
打赏
收藏
在网页中,怎么获取客户端当前计算机的登录用户? 急..
如题。 在google和baidu搜索了,好像没有相关的资料。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MyLf
2006-03-07
打赏
举报
回复
up
Optione
2006-03-06
打赏
举报
回复
像X-Scan这样扫描软件,要获取NetBios信息,只要有防火墙,都取不到的.
再说知道了登陆名,跑密码还是可以的.
反正我是不会的,很难吧,帮你顶算了.
MyLf
2006-03-06
打赏
举报
回复
谢谢回复。。。
这是客户的要求,说是如果员工用自己的帐号和密码登录了计算机后,进入我们的系统(B/S的),就不要再去录入用户和密码了,就可以进去了。
其实,客户这种要求是很合理的,就类似于Sql Server的以Windows身份验证的方式登录
只知道登录用户名,黑客也不能干什么啊。
Optione
2006-03-06
打赏
举报
回复
不通过第3方控件,基本上很难(就像楼上那位兄弟说的:微软或许有办法)
已经很清楚了,如果那样能行的话,黑客们就可以庆祝了.
你们是怎么想出要那样的?不能换别的方式吗?
MyLf
2006-03-06
打赏
举报
回复
不要mark了,出点主意啦。。
hyena041
2006-03-06
打赏
举报
回复
mark
j_lei407
2006-03-06
打赏
举报
回复
mark
lingbo_wx
2006-03-06
打赏
举报
回复
期待中
MyLf
2006-03-06
打赏
举报
回复
此问题无解么?
MyLf
2006-03-06
打赏
举报
回复
那。。。
怎么用ActiveX解决这个问题?
Optione
2006-03-05
打赏
举报
回复
为这点功能,没必要花这么大的代价吧.
单靠浏览器要实现这样的功能,很难.
既然永许匿名登录,用ActiveX,对匿名用户来说感觉太麻烦了.
再说匿名用户,一定不喜欢你去获取的本地登陆账号,太危险了.很多扫描软件都做不到的.
Kshatriya
2006-03-05
打赏
举报
回复
存到表里面不行么?
Kingron
2006-03-05
打赏
举报
回复
设置网页安全级别为中,允许ActiveX:
http://lysoft.lz169.com/kingron/wql.htm
通过WQL语句应该可以做到,手边没有MSDN,你自己查查就知道了。
talantlee
2006-03-04
打赏
举报
回复
再看看
要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取。不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP。还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:
......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......
即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。
'通用函数:如果不能取客户端真实IP,就会取客户端的代理IP
Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
李洪喜
2006-03-04
打赏
举报
回复
不太可能获得用户的登录ID吧。除非是微软可以实现。
singlepine
2006-03-04
打赏
举报
回复
浏览者操作系统的默认语言
Request.ServerVariables.Get("HTTP_ACCEPT_LANGUAGE")
客户端ip:
Request.ServerVariables.Get("Remote_Addr");
客户端主机名:
Request.ServerVariables.Get("Remote_Host");
服务器ip:
Request.ServerVariables.Get("Local_Addr");
服务器名:
Request.ServerVariables.Get("Server_Name");
获得用户登陆名
Request.ServerVariables.Get("LOGON_USER");
talantlee
2006-03-04
打赏
举报
回复
在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证。在ASP.NET中,要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好。
具体实现的html和javascript如下:
<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>
关键是用到两个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我个人喜欢用js。
MyLf
2006-03-04
打赏
举报
回复
我当然指的是webform产生的页面啦
我是丁学
2006-03-04
打赏
举报
回复
单纯网页是做不到的,除非浏览者告诉你 :)
不过你可以通过ActiveX控件实现这个功能,就怕有些人会屏蔽
MyLf
2006-03-04
打赏
举报
回复
要是允许匿名登录,我还来问干什么?
这是B/S系统(公司内部的,如果在公司外部用,则允许匿名登录,但提供的功能有限)。用户名就是各计算机上的登录名了。
有单点登录的意思。
用户用他的计算机帐号登录后,直接打开你的网页就可以进去了,不需要再让他录入用户名和密码。
加载更多回复(5)
Java经典面试题汇总200道
超详细的Java知识点汇总 Java经典面试题汇总Java 基础1. JDK 和 JRE 有什么区别?2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4. final 在 java
中
有什么作用?5. java
中
的 Math.round(-1.5) 等于多少?6. String 属于基础的数据类型吗?7. java
中
操作字符串都有哪些类?它们之间有什么区别?8. String str="i"与 String str=
Java基础总结
文章目录1.Java 基础1. JDK 和 JRE 有什么区别?2. == 和 equals 的区别是什么?3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?4. final 在 java
中
有什么作用?5. java
中
的 Math.round(-1.5) 等于多少?6. String 属于基础的数据类型吗?7. java
中
操作字符串都有哪些类?它们之间有什么区别?8. String str="i"与 String str=new String("i")一样吗?9
前端面试常见的问题(呕心沥血的总结)
直通金三银四,你学废了吗?1. JS的数据类型哪些?2. 变量的命名规则3.转换规则4. this的指向5.改变this指向的方式6.new操作符做什么?7.什么ajax,它的5个步骤8. get与post请求的区别?9. 什么cookie?10. cookie localStorage,sessionStorage 的区别?11. 闭包?12. 原型和原型链13. ES5 新增了哪些特性?14.es6有哪些新特性,你喜欢哪些特性? (重点的重点)15.什么是回调函数16.面向对象16.设计模式 GoF1
Java面试宝典2013版(超长版)
一. Java基础部分......................................................................................................2 1、一个".java"源文件
中
是否可以包括多个类(不是内部类)?有什么限制?.....2 2、Java有没有goto?........................
Java面试宝典
1. Java基础部分... 4 1、一个".java"源文件
中
是否可以包括多个类(不是内部类)?有什么限制?... 4 2、Java有没有goto?. 4 3、说说&和&&的区别。... 4 4、在JAVA
中
如何跳出
当前
的多重嵌套循环?... 4 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?. 5 6、shorts1 = 1;
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章