我正在努力向我为一家金融服务公司维护的 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 进行此分析)
是否会推荐纯粹的服务器端方法,特别是对于像大通这样的金融机构?是否有任何文章或文章讨论这种方法的优点/缺点?我认为它比标准 cookie 方法安全性较低。
谢谢大家,我的第一个问题,如果我的谷歌未能找到明显的答案,我深表歉意。
最佳答案
是的,HTML5 中有多种用于保存数据的客户端方法。一个很好的概述位于 http://www.html5rocks.com/en/tutorials/offline/storage/ .
关于security - 不使用 cookie 的 "remember my device"的替代实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28332241/