とにかくjavascript内でブラウザーの一意のIDを作成する方法はありますか?
生成されるたびにランダムなIDではなく、生成されたブラウザーに固有のIDについて話しているのではなく、実行中のコンピューターも考慮に入れています。
例:
Windows 7 Chrome生成される可能性がある:asdh128hakj4gh
Windows 7 Opera生成される可能性があります:23hjad823hjakk
Windows 7 Chrome、差分ハードウェア、生成される可能性があります:asd238881jaal
等...
とにかくこれを行うにはありますか?
cookies
とそれに固有のハッシュを使用します。 (コンピューター上に多くのブラウザーがある場合でも、各ブラウザーには独自のCookie jarがあります)
UserAgent + ClientIP + 'extrasalt'のMD5はどうですか?
2つのクライアントが同じIP(NATを使用)と完全に同じUserAgent(厳密に管理されたIT部門=同一のデプロイメント、または単に運)を持つ可能性があるため、これは近づきますが完全ではありません。
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);
これらのコードを使用すると、ブラウザのタイプとバージョンを取得できます。値に基づいて他の一意のIDを生成したい場合は、ブラウザごとに一意にする必要があります。
あなたがやろうとしているように見えるのは、ある種のライセンスです。アプリを使用するために登録できるブラウザは非常に多くなりますか?
残念ながら、ユーザーのコンピューターのハードウェア設定を読み取る方法はありません。答えの1つとして、マシンにCookieを保存することはできますが、簡単に失われる可能性があります。
古いIEブラウザーの使用に制限されていた場合、ActiveXを使用してコンピューターハードウェアを読み取ることができます。 http://www.devarticles.com/c/a/JavaScript/How-to -Use-JavaScript-for-Hardware-Knowledge /