【问题标题】:Alternative implementations of "remember my device" that do not use cookies?不使用 cookie 的“记住我的设备”的替代实现?
【发布时间】:2015-04-04 14:47:17
【问题描述】:

我正在为我为一家金融服务公司维护的 Web 应用程序添加“记住我的设备”功能。我读过的有关此功能的所有实现都使用持久性 cookie,而我现有的“记住我”功能使用持久性 cookie。

在使用 Win7/IE11 测试我当前的银行 (chase.com) 实施时,我发现我无法删除 cookie 并强制我的银行忘记我的设备。我尝试了一台装有 Win7/IE9 的新机器,并继续让网站记住该设备。然后我尝试了以下任何和所有组合:

  • 清除 cookie 和所有浏览历史记录元素(不保留收藏夹)
  • 将 IE 重置为默认值
  • 将 IE 重置为默认并清除个人数据

我还卸载了 Flash、Java 和 .NET 运行时,希望将数据存储在这些插件平台中。我确实找到了一些引用 Flash cookie 的 .js 文件,所以我认为如果没有 Flash,该站点将默认恢复为普通 cookie。我用 IE 进行了测试,因为它没有像 Chrome 那样内置 Flash。

我还在每次清除缓存尝试后注销/登录,以确保在两次尝试之间关闭 IE 进程。毕竟,我的浏览器仍然是一个记忆设备。

我的问题是:

  • 是否有任何其他客户端技术可用于记住我未重置/清除的设备?

  • 是否能够在服务器上记录足够的详细信息来创建足够准确的设备指纹?我从来没有让我的银行在升级或安装插件等后再次提示我记住我的设备。(当然我通常使用 Chrome 并且只使用 IE 进行此分析)

  • 是否建议使用纯粹的服务器端方法,尤其是对于像 Chase 这样的金融机构?是否有任何关于这种方法的利弊的文章或文章?我认为它不如标准 cookie 方法安全。

谢谢大家,我的第一个问题,如果我的 google-fu 未能找到明显的答案,我们深表歉意。

【问题讨论】:

    标签: security web-applications web


    【解决方案1】:

    是的,在 HTML5 中提供了几种用于持久化数据的客户端方法。 http://www.html5rocks.com/en/tutorials/offline/storage/ 有一个很好的概述。

    【讨论】:

    • 感谢您的链接,我不知道其中一些,例如文件系统。根据文章,IE9 支持的唯一方法是 Web Storage。执行 IE 重置为默认值时不会重置吗?
    • Here 是关于在各种浏览器中清除本地和会话存储的一个很好的讨论。有时清除 cookie 会做到这一点,但并非总是如此。
    • 另外有趣的是该页面底部关于使用 etags 进行跟踪的讨论,以及最近使用 X-UIDH 标头对Verizon's "super cookie" 的宣传。
    • 作为更新,为讨论清除本地和会话存储提供的链接已在我的 IE9 实例上进行了测试。清除缓存后所有存储的项目都被清除了,这仍然让我很难理解大通网站在哪里存储它的“标记”以记住我的浏览器。
    【解决方案2】:

    看看Evercookie

    上面的页面有信息和一个按钮来实际测试它。 它会向您展示它使用的哪些方法在特定设备/浏览器中有效(如果有)。

    还有code itself is available at github

    【讨论】:

    • 这真是令人着迷!感谢您的链接。
    猜你喜欢
    • 2011-04-19
    • 2022-12-12
    • 1970-01-01
    • 2012-12-03
    • 2014-04-20
    • 1970-01-01
    • 2017-06-14
    • 2011-08-15
    • 2011-12-10
    相关资源
    最近更新 更多