禁用cookie后,如何识别客户端?

在浏览器禁用cookies时,除了将用户信息保存在localstorage里,还有什么办法可以使用户在下次免登陆?
(PS:现已有的答案基本都是在登陆后,在禁用cookies的同时来识别客户端。BUT:我想知道的是下次用户进入该site时,在以上情况下,该如何保证不用登陆)

阅读 4.4k
4 个回答

查阅了点资料,目前知道的存储信息的有以下方式:

  1. 标准http cookie

  2. flash cookies(这个现在应该不怎么用了)

  3. silverlight isolated storage(这个一样不怎么用了)

  4. 生成图片保存信息(信息以rgb值存在)

  5. etags/缓存

  6. window.name(可跨域)

  7. IE userdata(这个除非兼容,不然应该也不会用了)

  8. html5 sessionstorge/localstorge/globalstorge/websql/indexeddb

  9. css历史分析(这个不懂。。。)

  10. Java exploit/JNLP PersistenceService

目前能够识别到用户的做法

  1. 使用cookie

  2. 将session_id带在URL中

  3. 存入localStorage

如果按你说的。不使用cookie,而localStorage你也说除了,那只剩下2,这个在2楼说过了。

可以使用 jwt 认证

PHP有个配置, 叫 session.use_trans_sid[http://php.net/session.use-tr...
如果在URL上带SID=xxx , 可以自动识别session.
要在URL带这个参数, 可以使用PHP常量SID, 比如:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题