【问题标题】:java servlet forwarding cookiejava servlet 转发 cookie
【发布时间】:2011-10-21 16:27:59
【问题描述】:

我想开发一个能够通过 HTTP 协议在其他服务器上进行身份验证的 java servlet。该服务器向我的 servlet 发送回一个 cookie,我想将该 cookie 转发回浏览器并将浏览器重定向到另一个 url。

我不知道如何通过 servlet 拦截和发送 cookie。

您对要使用的方法或类有什么建议吗?

【问题讨论】:

    标签: java http cookies


    【解决方案1】:

    这当然是非法的;篡改另一个域的 cookie。

    Java 对 Open-ID 有很好的支持,这可能恰好在您的情况下可用。

    在 java 站点的情况下,会话 ID 可以用作 cookie 和 URL 参数(通常是 JSESSIONID)。在这种情况下,您可以使用 JSESSIONID 参数。

    通常一个站点有一个登录并继续到某个页面(类似于 login.html?url=...)。 在这种情况下,您可以尝试重定向到登录表单 GET-submit。 要查找该 URL:调用已注销的书签 URL。

    虽然我有些怀疑是否存在这样的漏洞。

    【讨论】:

      【解决方案2】:

      我没听懂你所说的“拦截 cookie”,但是发回 cookie 非常简单,只需将 cookie 添加到响应对象即可。

      Cookie cookie = new Cookie("name", value);
      response.addCookie(cookie);
      

      然后转发您的请求:

      request.getRequestDispatcher(path).forward(request, response)
      

      希望对你有帮助。

      【讨论】:

      • ... 但是 cookie 是为原始域设置的,而不是其他域。
      猜你喜欢
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      相关资源
      最近更新 更多