English 中文(简体)
我怎么能从浏览器读到客户的机器/电脑名称?
原标题:
  • 时间:2009-05-28 18:31:53
  •  标签:

How can I read the client s machine/computer name from the browser?
Is it possible using JavaScript and/or ASP.NET?

最佳回答

你可以与独立实体合作,有时是因为我在内部网(只有独立实体)内部申请。 如下:

function GetComputerName() {
    try {
        var network = new ActiveXObject( WScript.Network );
        // Show a pop up if it works
        alert(network.computerName);
    }
    catch (e) { }
}

它可能或可能不需要在独立实体中建立某种特定的安全设置,也不允许浏览器进入活性X物体。

http://www.pctools.com/guides/scripting/id/3/?act= Reference”rel=“noreferer”>More Information。

问题回答

Browser, 业务系统、科罗州、筛查决议、闪电版本和 Java支持等,都应从Javales(可能还有几处)中发现。 然而,计算机名称是不可能的。

EDIT:至少不可能在所有浏览器中进行。

如果你能够使用 as子获得ip地址,那么就会在Pip进行逆向的DNS调查,以获得主名。

伙伴关系。 https://web.archive.org/web/20160704023427/http://aspalliance.com/cookbook/ViewSource.aspx?Filename=Recipe2110cs.aspx&RecipeType=ASPX”rel=“nofollow noreferer” 进行反逆向的全国住户调查。

不可能把用户的电脑名称带上 Java字。 你们可以获得有关浏览器和网络的所有细节。 但这还不够。

如同今天在前一个问题中回答过的人一样。

我已经赞成访问你的网站,但愿我回来或提到其他朋友。 我也告诉大家,我是谁,我的是哪里,我的是哪里,我的是谁,我的是谁?

您也不能使用asp.net来完成这个。

Try 借助以下代码将客户的计算机名字贴在Catherine。

netscape.security.PrivilegeManager.enablePrivilege(  UniversalXPConnect  ); 

var dnsComp = Components.classes["@mozilla.org/network/dns-service;1"]; 
var dnsSvc = dnsComp.getService(Components.interfaces.nsIDNSService);
var compName = dnsSvc.myHostName;

同样的法典也可作为延伸,可从你的网页上公布。

请参阅以下样本代码。

推广法:

var myExtension = {
  myListener: function(evt) {

//netscape.security.PrivilegeManager.enablePrivilege(  UniversalXPConnect  ); 
var dnsComp = Components.classes["@mozilla.org/network/dns-service;1"]; 
var dnsSvc = dnsComp.getService(Components.interfaces.nsIDNSService);
var compName = dnsSvc.myHostName;
content.document.getElementById("compname").value = compName ;    
  }
}
document.addEventListener("MyExtensionEvent", function(e) { myExtension.myListener(e); }, false, true); //this event will raised from the webpage

网页法:

<html>
<body onload = "load()">
<script>
function showcomp()
{
alert("your computer name is " + document.getElementById("compname").value);
}
function load()
{ 
//var element = document.createElement("MyExtensionDataElement");
//element.setAttribute("attribute1", "foobar");
//element.setAttribute("attribute2", "hello world");
//document.documentElement.appendChild(element);
var evt = document.createEvent("Events");
evt.initEvent("MyExtensionEvent", true, false);
//element.dispatchEvent(evt);
document.getElementById("compname").dispatchEvent(evt); //this raises the MyExtensionEvent event , which assigns the client computer name to the hidden variable.
}
</script>
<form name="login_form" id="login_form">
<input type = "text" name = "txtname" id = "txtnamee" tabindex = "1"/>
<input type="hidden" name="compname" value="" id = "compname" />
<input type = "button" onclick = "showcomp()" tabindex = "2"/>

</form>
</body>
</html>

这样做是不可能的,因为 Java没有电脑名称、档案系统和其他当地信息。 安全是主要目的。

没有这种数据。 现有的唯一数据是通过吉大港山区开发计划要求获得的,其中可能包括他们的职业介绍和其他这类信息。 但当然不是机器名称。

<html>
<body onload = "load()">
<script>
  function load(){ 

     try {
       var ax = new ActiveXObject("WScript.Network");
       alert( User:   + ax.UserName );
       alert( Computer:   + ax.ComputerName);
     }
     catch (e) {
       document.write( Permission to access computer name is denied  +  <br /> );
     } 
  }
</script>
</body>
</html>

有一些信息可以进入广播电视公司的负责人。

var p = new window.RTCPeerConnection();
p.createDataChannel(null);
p.createOffer().then((d) => p.setLocalDescription(d))
p.onicecandidate = (e) => console.log(p.localDescription)

Kelsey的最新版本:

$(function GetInfo() {
    var network = new ActiveXObject( WScript.Network );
        alert( User ID :   + network.UserName +  
Computer Name :   + network.ComputerName +  
Domain Name :   + network.UserDomain);
        document.getElementById( <%= currUserID.ClientID %> ).value = network.UserName;
        document.getElementById( <%= currMachineName.ClientID %> ).value = network.ComputerName;
        document.getElementById( <%= currMachineDOmain.ClientID %> ).value = network.UserDomain;
});

储存价值,增加这些控制:

<asp:HiddenField ID="currUserID" runat="server" /> <asp:HiddenField ID="currMachineName" runat="server" /> <asp:HiddenField ID="currMachineDOmain" runat="server" />

如果你能够这样说:

Page.ClientScript.RegisterStartupScript(this.GetType(), "MachineInfo", "GetInfo();", true);

你们为什么只能使用HttpRequest? 这将放在服务器上,但如果你需要的话,你可以把它交给 j子?

Page.Request.UserHostName

HttpRequest.UserHostName

其中一个问题是,它只会在内联网环境中真正发挥作用,否则它只会最终吸引用户路线或Peoxy地址。





相关问题
热门标签