如何在sails.js/node.js中实现Evercookie?

How to implement Evercookie in sails.js/node.js?

我按照 link 作为

https://github.com/truongsinh/node-evercookie

首先在config/http.js

中创建了connect的中间件

然后跟着link :

http://samy.pl/evercookie/

结果在 chrome 控制台中:

Storage mechanism userData returned: undefined<br>
Storage mechanism cookieData returned: undefined<br>
Storage mechanism localData returned: 12345<br>
Storage mechanism globalData returned: undefined<br>
Storage mechanism sessionData returned: 12345<br>
Storage mechanism windowData returned: 12345<br>
Storage mechanism historyData returned: undefined<br>
Storage mechanism pngData returned: undefined<br>
Storage mechanism etagData returned: <br>
Storage mechanism cacheData returned: <br>
Storage mechanism dbData returned: 12345<br>
Storage mechanism lsoData returned: undefined<br>
Storage mechanism slData returned: undefined<br>

在前端 Java 脚本中,它在我设置的警报中给出了正确的 ID。

在服务器端:我得到 cookieValue= undefined

Kindle 帮助我判断这是正确的方法还是我遗漏了两者之间的任何东西。

我尝试了很多,然后使用了网站“http://samy.pl/evercookie/”本身的 evercookie.js 文件。

然后在 http 中间件中进行如下更改:

var evercookie = require('evercookie');
    var cookieParser = require('cookie-parser');
    app.use(cookieParser());
    app.use(evercookie.backend());
    app.use(cookieParser());
    app.use(require('connect').static(__dirname +'../public')); // be careful, you may want to use path.join instead!
    app.use(evercookie.backend({
      pngCookieName: 'evercookie_png',
      etagCookieName: 'evercookie_etag',
      cacheCookieName: 'evercookie_cache',
      pngPath: '/path/evercookie_png.php',
      etagPath: '/path/evercookie_etag.php',
      cachePath: '/path/evercookie_cache.php'
    }));

注意:'path' 是调用 ec.set 和 ec.get 方法的位置。 现在我可以获取 etagData、cacheData 和 cacheData 的 cookie 数据。