Eindeutige ID mit Javascript
bluejey
- javascript
Hallo,
wie kann ich eine eindeutige ID (SessionID) am besten mit Javascript erstellen?
Vielen Dank und Gruß
hi,
wie kann ich eine eindeutige ID (SessionID) am besten mit Javascript erstellen?
Warum willst du eine solche mit Javascript erstellen?
Math.random wirst du wohl brauchen, Date kann auch noch pseudo-zufällige Werte liefern (wobei zwischen random und aktueller Systemzeit vermutlich irgendeine Art von Beeinflussung vorhanden sein dürfte) - daraus müsstest du dir dann was basteln.
gruß,
wahsaga
Hallo,
zunächst mal Danke für Eure Hinweise.
Ich könnte mir folgendes vorstellen:
var d = new Date();
return d.getTime() + "-" + Math.random()*1000000;
Wie seht Ihr das?
Gruß
hi,
wie kann ich eine eindeutige ID (SessionID) am besten mit Javascript erstellen?
Warum willst du eine solche mit Javascript erstellen?
Math.random wirst du wohl brauchen, Date kann auch noch pseudo-zufällige Werte liefern (wobei zwischen random und aktueller Systemzeit vermutlich irgendeine Art von Beeinflussung vorhanden sein dürfte) - daraus müsstest du dir dann was basteln.
gruß,
wahsaga
Hi,
var d = new Date();
return d.getTime() + "-" + Math.random()*1000000;
mit einer Wahrscheinlichkeit von n Tausendstel Promill pro Sekunde ist das Ergebnis nicht eindeutig, wobei n die Anzahl der Durchführungen ist und als Sekunde die vom Client gemeldete gilt.
Wie seht Ihr das?
Das ist für die meisten Zwecke ausreichend. Wenn es jedoch auf die globale Eindeutigkeit ankommt, versagt dieses Script - genau wie jedes andere, das sich nur auf die Clientseite stützt.
Cheatah
Hi
Du könntest Serverseitig die SessionID in deinen JavaScript Code einbinden,so in der Art:
var sid = '<?php echo defined('SID');?>';
Gruß
Moe
Hi,
var sid = '<?php echo defined('SID');?>';
also, ich weiß nicht. Eine Reduzierung auf zwei unterschiedliche Werte als "eindeutige ID" anzusehen, ist dann doch ein bisschen pessimistisch, so im Hinblick auf die Besucherzahlen.
Cheatah, SCNR
var sid = '<?php echo defined('SID');?>';
also, ich weiß nicht. Eine Reduzierung auf zwei unterschiedliche Werte als "eindeutige ID" anzusehen, ist dann doch ein bisschen pessimistisch, so im Hinblick auf die Besucherzahlen.
Ehehe, da hast du natürlich Recht.Hab ich wohl falsch ausm Skript kopiert.. Das defined lassen wir natürlich weg :D
Hi,
wie kann ich eine eindeutige ID (SessionID) am besten mit Javascript erstellen?
gar nicht. JavaScript steht keine Information zur Verfügung, die diesen Rechner mit diesem Browser und diesem Fenster vom Rest des Universums abtrennt. Unter sinnvoller Verwendung von wahsagas Tipps kannst Du nur einen _wahrscheinlich_ eindeutigen Wert erzeugen.
Cheatah
Hallo,
wie kann ich eine eindeutige ID (SessionID) am besten mit Javascript erstellen?
Sollte es im Thread nicht klargeworden sein: Erzeuge diese besser serverseitig.
Ansonsten solltest Du versuchen möglichst viel Zufall und Abhängigkeit vom konkreten Datum in den Algorithmus reinzubringen, um Kollisionen zu vermeiden; mehr Eingangsinformationen stehen JS nicht zu Verfügung. UUID.js liefert einen Beispielalgorithmus; auch wenn der durch die Beschränkungen von JS niemals so gut sein kann wie die richtigen UUID-Algorithmen.
Tim