Данный пост - выдержка из статьи Валентина Васильева на хабре, полностью изучить которую, я рекомендую каждому.
Но сначала о главном
FingerprintJS — это маленькая библиотечка, которую я написал, и которая пытается решить эти проблемы. Я расскажу, как она это делает, и что из этого получилось...