web-dev-qa-db-fra.com

Comment puis-je lire le nom de la machine / ordinateur du client à partir du navigateur?

Comment puis-je lire le nom de la machine/ordinateur du client à partir du navigateur?
Est-il possible d'utiliser JavaScript et/ou ASP.NET?

46
MetaGuru

Vous pouvez le faire avec IE 'parfois' comme je l'ai fait pour une application interne sur un intranet qui est IE uniquement. Essayez ce qui suit:

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

Cela peut nécessiter ou non une configuration spécifique des paramètres de sécurité dans IE également pour permettre au navigateur d’accéder à l’objet ActiveX.

Voici un lien vers d'autres informations sur WScript: Plus d'informations

33
Kelsey

Navigateur, système d'exploitation, couleurs de l'écran, résolution de l'écran, version Flash et Java). La prise en charge doit être détectable à partir de JavaScript (et peut-être un peu plus). Cependant, le nom de l'ordinateur n'est pas possible.

EDIT: Pas possible sur tous les navigateurs au moins.

12
nevets1219

Eh bien, vous pouvez obtenir l'adresse IP en utilisant asp.net, puis effectuez une recherche DNS inversée sur l'adresse IP pour obtenir le nom d'hôte.

Dans le livre de recettes du développeur ASP.NET ... exécution d'une recherche DNS inversée .

10
Mark

Il n'est pas possible d'obtenir le nom d'ordinateur de l'utilisateur avec Javascript. Vous pouvez obtenir tous les détails sur le navigateur et le réseau. Mais pas plus que ça.

Comme quelqu'un a répondu à l'une des questions précédentes aujourd'hui.

J'ai déjà fait une faveur de visiter votre site Web, peut-être que je reviendrai ou référera d'autres amis .. Je vous ai également dit où je suis et quel système d'exploitation, navigateur et résolution d'écran j'utilise Pourquoi voulez-vous connaître la couleur de mes sous-vêtements? ;-)

Vous ne pouvez pas le faire en utilisant asp.net aussi.

7
Shoban

Essayez d’obtenir le nom de l’ordinateur client dans Mozilla Firefox en utilisant le code donné ci-dessous.

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;

En outre, le même morceau de code peut être mis en extension et appelé à partir de votre page Web.

Veuillez trouver l'exemple de code ci-dessous.

Code d'extension:

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

Code de page Web:

<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>
3
Ganesh

Non, ces données ne sont pas exposées. Les seules données disponibles sont celles exposées via la requête HTTP, qui peuvent inclure leur système d'exploitation et d'autres informations similaires. Mais certainement pas le nom de la machine.

2
aleemb

Il n’ya aucun moyen de le faire, car JavaScript n’a pas accès au nom de l’ordinateur, au système de fichiers ni à d’autres informations locales. La sécurité est l'objectif principal.

0
Denys