pl: Checksumme aus Systemangaben

moin,

JS liefert so Einiges wie Bildschirmauflösung, Zeitzone usw. Ich habe bis jetzt


dat.getTimezoneOffset()
screen.height
screen.width
navigator.appName
navigator.appVersion
navigator.language
navigator.platform
navigator.cookieEnabled
navigator.mimeTypes.length
navigator.plugins.length

zum Ermitteln einer Checksumme. Gibt es da noch mehr? MFG

  1. Tach!

    JS liefert so Einiges wie Bildschirmauflösung, Zeitzone usw. Ich habe bis jetzt [...] zum Ermitteln einer Checksumme. Gibt es da noch mehr?

    Was du ermitteln möchtest, ist keine Checksumme sondern anscheinend ein Browser oder Device Fingerprint. Mit diesem Stichwort wirst du eher fündig werden.

    dedlfix.

  2. Hallo pl,

    vergiss navigator.appName und navigator.appCodeName. Mein Chrome lügt da!

    --navigator.appName
    "Netscape"
    --navigator.appCodeName
    "Mozilla"
    --navigator.appVersion
    "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
    

    Aha, letzteres ist etwas wahrer. Aber sobald Chrome ein kleines Update bekommt, ist deine Checksum daneben.

    Rolf

    --
    sumpsi - posui - clusi
    1. Ah,

      vergiss navigator.appName und navigator.appCodeName. Mein Chrome lügt da!

      Das ist egal, wird sowieso zu MD5 verwurstet. Aber wenn das jetzt nicht mehr checksum heißt sondern Fingerprint schalte ich das ab. Nicht daß damit noch einer auf dumme Gedanken kommt.

      MFG

      Done.

  3. navigator.appName navigator.appVersion navigator.platform

    Diese (und noch ein paar) findest du samt und sonders in navigator.userAgent. Sie einzeln rauszunehmen hat keinen Vorteil.

    navigator.cookieEnabled

    Nicht so wertvoll, ist bei nahezu allen Browsern eingeschaltet (siehe Panopticlick unten).

    navigator.language

    Besser navigator.languages, da gegebenenfalls weitere Daten vorhanden.

    navigator.mimeTypes.length navigator.plugins.length

    Diese beiden hängen zusammen, mimeTypes soll angeben, was von den installierten Plugins unterstützt wird.

    plugins selbst lässt sich bei sehr vielen Browsern (fast ähnlich cookieEnabled) nicht allgemein auslesen oder ist sowieso leer, da keine Plugins installiert sind. length ist dort entsprechend immer 0. "Allgemein auslesen" soll bedeuten, dass die Liste zwar leer erscheint, man aber Plugins gezielt abfragen kann, zB mit navigator.plugins.namedItem('Shockwave Flash').

    zum Ermitteln einer Checksumme. Gibt es da noch mehr? MFG

    Mäßig verschieden, aber umso leichter auszulesen ist navigator.hardwareConcurrency. Mit Aufwand, aber dafür sehr eindeutig sind Tests mit WebGL und Canvas.

    https://panopticlick.eff.org/ informiert über einige Möglichkeiten und, interessanter, deren Wert zur Identifikation einzelner Browser.

    1. Hallo Rosalinde und pl,

      man sollte aber immer beachten, dass es wenig nützt, einzelne Browsertypen zu prüfen.

      Wenn man wissen will, ob ein Feature XY in einem konkreten Browser funktioniert, sind Abfragen auf dieses Feature der bessere Weg.

      Im Zweifelsfalle nimmt man modernizr zu Hilfe, oder vergleichbare Tools.

      Rolf

      --
      sumpsi - posui - clusi
      1. Leider ist die Fingerprintmethode mit der DSGVO nicht vereinbar. Und leider genügt auch ein flüchtiger Blick in den Quellcode um zu sehen was da geht. Es besteht ein erhebliches Risiko zur Abmahnung. Fazit: Finger weg von Fingerprints. GGA

        1. Fazit: Finger weg von Fingerprints. GGA

          Spätestens bei iOS eh für die Füsse. GGAAHHAAG

          1. Ach was, das was serverseitig übrigbleibt, reicht immer noch um wenigstens die Bots aus dem Tracking rauszufiltern. GGA