est-il possible de créer un identifiant unique pour un navigateur en javascript?
Je ne parle pas d'un ID aléatoire à chaque fois qu'il est généré, mais d'un ID unique au navigateur dans lequel il est généré, mais prend également en compte l'ordinateur sur lequel il fonctionne.
Exemple:
Windows 7 Chrome pourrait générer: asdh128hakj4gh
Windows 7 Opera pourrait générer: 23hjad823hjakk
Windows 7 Chrome, matériel diff, peut générer: asd238881jaal
etc...
Y a-t-il un moyen de faire ça?
Utilisez cookies
et un hachage unique dans son. (Chaque navigateur possède son propre cookie, même si sur l'ordinateur il y a plusieurs navigateurs)
Ce que vous recherchez s'appelle empreinte digitale du navigateur.
Vous pouvez google pour certaines bibliothèques open source. Ex: fingerprintjs2
Découvrez démo d'EFF
Qu'en est-il du MD5 de UserAgent + ClientIP + 'extrasalt'?
Cela vous rapprochera mais n'est pas parfait car il est possible pour 2 clients d'avoir la même IP (en utilisant NAT) et exactement le même UserAgent (département informatique étroitement contrôlé = même déploiement, ou tout simplement de la chance).
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
if (Sys.ie) document.write('IE: ' + Sys.ie);
if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
if (Sys.opera) document.write('Opera: ' + Sys.opera);
if (Sys.safari) document.write('Safari: ' + Sys.safari);
Avec ce code, vous pouvez obtenir le type et la version du navigateur, et la valeur doit être unique en fonction du navigateur, si vous souhaitez générer une autre base d'ID unique dessus, puis l'utiliser
Qu'est-ce que vous essayez de faire, c'est une sorte de licence? Pour que seulement autant de navigateurs puissent être enregistrés pour utiliser votre application?
Malheureusement, il n'y a aucun moyen de lire la configuration matérielle de l'ordinateur des utilisateurs. Comme le dit une réponse, vous pouvez stocker un cookie sur la machine, mais il peut facilement disparaître.
Si vous étiez limité à utiliser d'anciens navigateurs IE vous pouvez utiliser ActiveX pour lire le matériel informatique: http://www.devarticles.com/c/a/JavaScript/How-to -Utiliser JavaScript pour la connaissance du matériel /