【问题标题】:How to implement private cookies?如何实现私有cookie?
【发布时间】:2014-01-10 23:35:40
【问题描述】:

java.net 默认的“系统范围”CookieHandler 让我很紧张,因为它意味着一个应用程序注册的 cookie 可以被另一个应用程序访问。如果这些 cookie 是授权令牌,这几乎与“系统范围”广播应用程序(和用户!)特定密码相同。

我有这个权利吗?如果我创建了一个导致 cookie 的HttpURLConnection,那么另一个 java 应用程序是否可以简单地使用 CookieHandler.getDefault.get(...) 来获取该 cookie?各种文档(e.g.) 指的是创建一个自定义的 CookieHandler 并设置默认的“系统范围”,但ambiguous or non-committal 是关于后果的——所以虽然我可以创建自己的 CookieHandler 或CookieManager,但似乎这不可避免地会陷入困境其他进程可以访问的“系统范围的默认值”。 Oracle“访问 Cookie”教程 (linked above) 在促进“各种网页上的小程序”的上下文中讨论了这一点,当它可能是一个特性时。但是,如果我在“系统”上有一个 HTTPS 会话,如果其他进程可以获取我的(现已解密的)身份验证令牌,这似乎是一个巨大的安全漏洞。

总结一下:

  1. cookie 是否通过Http(s)UrlConnection 实例化,然后在系统范围内可用?

  2. 如果 #1 为真(我意识到我可以自己测试但没有),那么如何实现每个应用程序的私有 cookie?

【问题讨论】:

    标签: java cookies session-cookies


    【解决方案1】:

    cookie 是否通过 Http(s)UrlConnection 实例化,然后在系统范围内可用?

    没有。它们与一个正在运行的 JVM 实例一样宽。 最常见的模型是每个应用程序都在自己的 JVM 中运行,因此它们不会以这种方式共享 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-27
      • 1970-01-01
      • 2012-01-06
      • 2012-11-24
      • 1970-01-01
      • 2018-10-25
      • 2010-10-07
      相关资源
      最近更新 更多