【问题标题】:How can I make my jsp webapp swtich from secure (HTTPS) to non-secure (HTTP) protocol?如何让我的 jsp Web 应用程序从安全 (HTTPS) 切换到非安全 (HTTP) 协议?
【发布时间】:2016-01-15 06:28:22
【问题描述】:

我有一个用纯 JSP 和 JavaBeans 编写的网络商店,它在 Tomcat 上部署并运行良好。 Tomcat 已成功配置 SSL。它只有五页:

  • 主页(非安全页面)- 显示主页
  • 产品页面(非安全页面) - 始终显示单个产品
  • 购物车页面(非安全页面)- 添加产品后显示购物车页面
  • 结帐页面(安全页面)- 包含所有信息的单个结帐页面,例如客户地址、付款方式、送货方式等
  • 收据页面(安全页面) - 生成订单编号并显示订单总额。

每当我从购物车页面导航到结帐页面时,浏览器都会自动将协议从http -> https 和端口从8080 -> 8443 切换,这符合预期。但是,问题在于,只要用户从结帐页面导航到主页/产品页面,它就不会从https -> http8443 -> 8080 切换回来。主页/产品和购物车页面 url 都被转换为安全页面,这不是我想要的。

web.xml

<!-- Security for Checkout module -->
<security-constraint>
    <web-resource-collection>
        <web-resource-name>mycheckout</web-resource-name>
        <url-pattern>/jsp/checkout/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

文件夹结构:

jsp/
    home.jsp
    product.jsp 
    cart.jsp
    checkout/
        checkout.jsp
        receipt.jsp

【问题讨论】:

  • 你能解决这个问题吗?
  • 你不是在要求这个,因此我只添加它作为评论:我不担心这个。如果您仍然设置了 https,请不要担心返回。混合模式通常会导致比它解决的问题更多的问题:您可能会在 http 中泄漏可与 https 页面一起使用的会话 cookie。如果不是现在,那么在您的应用程序的下一次迭代中。为自己省去麻烦,一路走 https。这样你的工作就更少了,它已经设置好了。更多的 CPU 周期比你的工作时间便宜,或者比因为这样的问题而失去声誉
  • @Olaf - 有趣的解决方案,但只是想知道使用 https 的网站不会比平时慢吗?
  • 您必须衡量性能影响。但请记住:当您的数据通过泄漏会话丢失时,几毫秒有什么好处。查找 Firesheep 以了解捕获 cookie 是多么容易,例如在星巴克

标签: jsp security tomcat


【解决方案1】:

您可以在重定向之前构建 URL:

 if(request.getScheme().equals("https"){
 String redirect = "http://"+ request.getServerName()+":"+ getServletContext().getInitParameter("http_port")+"/"+request.getContextPath()+"/myurl";
response.sendRedirect(redirect);
}

编辑:

客户端重定向更加通用,因为它可以将您发送到完全不同的服务器,或更改协议(例如从 HTTP 到 HTTPS),或两者兼而有之。并且浏览器知道新的 URL。但是服务器和客户端之间需要额外的来回。在此处查看最后一个答案:requestDispatcher Interface Vs sendRedirect

【讨论】:

  • 我怎样才能转发到网址而不是重定向?
猜你喜欢
  • 2018-03-21
  • 2014-06-08
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
相关资源
最近更新 更多