PHPackages                             filipgolonka/evercookie - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. filipgolonka/evercookie

ActiveLibrary

filipgolonka/evercookie
=======================

0.1.1(10y ago)11.0kJavaScript

Since Sep 11Pushed 10y ago1 watchersCompare

[ Source](https://github.com/filipgolonka/evercookie)[ Packagist](https://packagist.org/packages/filipgolonka/evercookie)[ RSS](/packages/filipgolonka-evercookie/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Evercookie
==========

[](#evercookie)

Evercookie is a Javascript API that produces extremely persistent cookies in a browser. Its goal is to identify a client even after they've removed standard cookies, Flash cookies (Local Shared Objects or LSOs), and others.

This is accomplished by storing the cookie data as many browser storage mechanisms as possible. If cookie data is removed from any of the storage mechanisms, evercookie aggressively re-creates it in each mechanism as long as one is still intact.

If the Flash LSO, Silverlight or Java mechanism is available, Evercookie can even propagate cookies between different browsers on the same client machine!

By [Samy Kamkar](http://samy.pl), with awesome [contributions from others](https://github.com/samyk/evercookie/graphs/contributors)

Browser Storage Mechanisms
--------------------------

[](#browser-storage-mechanisms)

Client browsers must support as many of the following storage mechanisms as possible in order for Evercookie to be effective.

- Standard [HTTP Cookies](http://en.wikipedia.org/wiki/HTTP_cookie)
- Flash [Local Shared Objects](http://en.wikipedia.org/wiki/Local_Shared_Object)
- Silverlight [Isolated Storage](http://www.silverlight.net/learn/quickstarts/isolatedstorage/)
- CSS [History Knocking](http://samy.pl/csshack/)
- Storing cookies in [HTTP ETags](http://en.wikipedia.org/wiki/HTTP_ETag) ([Backend server](#backend-server) required)
- Storing cookies in [Web cache](http://en.wikipedia.org/wiki/Web_cache) ([Backend server](#backend-server) required)
- [window.name caching](http://en.wikipedia.org/wiki/HTTP_cookie#window.name)
- Internet Explorer [userData storage](http://msdn.microsoft.com/en-us/library/ms531424.aspx)
- HTML5 [Session Storage](http://dev.w3.org/html5/webstorage/#the-sessionstorage-attribute)
- HTML5 [Local Storage](http://dev.w3.org/html5/webstorage/#dom-localstorage)
- HTML5 [Global Storage](https://developer.mozilla.org/en/dom/storage#globalStorage)
- HTML5 [Database Storage via SQLite](http://dev.w3.org/html5/webdatabase/)
- HTML5 Canvas - Cookie values stored in RGB data of auto-generated, force-cached PNG images ([Backend server](#backend-server) required)
- HTML5 [IndexedDB](http://www.w3.org/TR/IndexedDB/)
- Java [JNLP PersistenceService](http://docs.oracle.com/javase/1.5.0/docs/guide/javaws/jnlp/index.html)
- Java exploit [CVE-2013-0422](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-0422) - Attempts to escape the applet sandbox and write cookie data directly to the user's hard drive.

To be implemented someday (perhaps by you?):

- [HTTP Strict Transport Security](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/client-identification-mechanisms#TOC-Lower-level-protocol-identifiers) Pinning
- Google Gears
- Using Java to produce a unique key based off of NIC info
- Caching in [HTTP Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication)
- Other methods? Please comment!

The Java persistence mechanisms are developed and maintained by [Gabriel Bauman](http://gabrielbauman.com)[over here](https://github.com/gabrielbauman/evercookie-applet).

Backend Server
--------------

[](#backend-server)

Some of the storage mechanisms require a backend server. This package comes with PHP implementation of the etag, cache and png backend servers.

- For Node.js version, please visit [node-evercookie](https://github.com/truongsinh/node-evercookie).
- For Django version, please visit [Django Evercookie](https://github.com/gdmka/django_evercookie)

Caveats
-------

[](#caveats)

Be warned! Evercookie can potentially cause problems for you or your users.

- Some storage mechanisms involve loading Silverlight or Flash in the client browser. On some machines this can be a very slow process with lots of disk thrashing. On older mobile devices this can render your site unusable.
- CSS History Knocking can cause a large number of HTTP requests when a cookie is first being set.
- In some circles, it is considered rude to use Evercookie. Consider your reputation and your audience when using Evercookie in production.
- Browser vendors are doing their best to plug many of the holes exploited by Evercookie. This is a good thing for the Internet, but it means what works today may not work so well tomorrow.

You are responsible for your own decision to use Evercookie. Choose wisely.

Got an idea?
------------

[](#got-an-idea)

Open a pull request!

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

3893d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/855c55ef5e845919f980318fc0c38e688acba842a603598e956dada8d7a736a0?d=identicon)[filipgolonka](/maintainers/filipgolonka)

---

Top Contributors

[![samyk](https://avatars.githubusercontent.com/u/411832?v=4)](https://github.com/samyk "samyk (46 commits)")[![aeosynth](https://avatars.githubusercontent.com/u/75317?v=4)](https://github.com/aeosynth "aeosynth (16 commits)")[![devayes](https://avatars.githubusercontent.com/u/1299519?v=4)](https://github.com/devayes "devayes (11 commits)")[![garex](https://avatars.githubusercontent.com/u/77981?v=4)](https://github.com/garex "garex (6 commits)")[![stereobooster](https://avatars.githubusercontent.com/u/179534?v=4)](https://github.com/stereobooster "stereobooster (4 commits)")[![truongsinh](https://avatars.githubusercontent.com/u/358585?v=4)](https://github.com/truongsinh "truongsinh (4 commits)")[![parisholley](https://avatars.githubusercontent.com/u/399289?v=4)](https://github.com/parisholley "parisholley (3 commits)")[![guiltar](https://avatars.githubusercontent.com/u/1562290?v=4)](https://github.com/guiltar "guiltar (2 commits)")[![paul-at](https://avatars.githubusercontent.com/u/1401984?v=4)](https://github.com/paul-at "paul-at (2 commits)")[![grrowl](https://avatars.githubusercontent.com/u/907140?v=4)](https://github.com/grrowl "grrowl (2 commits)")[![filipgolonka](https://avatars.githubusercontent.com/u/2419247?v=4)](https://github.com/filipgolonka "filipgolonka (2 commits)")[![waldyrious](https://avatars.githubusercontent.com/u/478237?v=4)](https://github.com/waldyrious "waldyrious (1 commits)")[![AndiF](https://avatars.githubusercontent.com/u/527341?v=4)](https://github.com/AndiF "AndiF (1 commits)")[![BaBL86](https://avatars.githubusercontent.com/u/483972?v=4)](https://github.com/BaBL86 "BaBL86 (1 commits)")[![kusmierz](https://avatars.githubusercontent.com/u/404344?v=4)](https://github.com/kusmierz "kusmierz (1 commits)")[![m8rge](https://avatars.githubusercontent.com/u/575777?v=4)](https://github.com/m8rge "m8rge (1 commits)")[![mact9](https://avatars.githubusercontent.com/u/8213899?v=4)](https://github.com/mact9 "mact9 (1 commits)")[![md-5](https://avatars.githubusercontent.com/u/1007849?v=4)](https://github.com/md-5 "md-5 (1 commits)")[![stha](https://avatars.githubusercontent.com/u/3440045?v=4)](https://github.com/stha "stha (1 commits)")

### Embed Badge

![Health badge](/badges/filipgolonka-evercookie/health.svg)

```
[![Health](https://phpackages.com/badges/filipgolonka-evercookie/health.svg)](https://phpackages.com/packages/filipgolonka-evercookie)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
