bluejey: Eindeutige ID mit Javascript

Hallo,

wie kann ich eine eindeutige ID (SessionID) am besten mit Javascript erstellen?

Vielen Dank und Gruß

  1. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. 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

      1. 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

  2. Hi

    Du könntest Serverseitig die SessionID in deinen JavaScript Code einbinden,so in der Art:

    var sid = '<?php echo defined('SID');?>';

    Gruß
    Moe

    1. 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

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. 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

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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  4. 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