Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat会话管理-url重写和从http切换到https_Url_Session_Tomcat_Https_Rewrite - Fatal编程技术网

Tomcat会话管理-url重写和从http切换到https

Tomcat会话管理-url重写和从http切换到https,url,session,tomcat,https,rewrite,Url,Session,Tomcat,Https,Rewrite,我是C语言的老手,但是Java/Tomcat的新手 我可以单独在http中使用Tomcat会话管理。当我开始考虑切换到https时,我遇到了问题 我为Tomcat收集的信息是,如果您想在从http切换到https再切换回http时维护会话,那么必须从http会话开始。当浏览器启用cookie时,这对我来说很好 但是,当浏览器禁用cookie(并且正在使用URL重写)时,将http切换到https或再次切换回https会导致每次启动新会话。我想这是安全问题 Q1-是否可能/需要使用URL重写在ht

我是C语言的老手,但是Java/Tomcat的新手

我可以单独在http中使用Tomcat会话管理。当我开始考虑切换到https时,我遇到了问题

我为Tomcat收集的信息是,如果您想在从http切换到https再切换回http时维护会话,那么必须从http会话开始。当浏览器启用cookie时,这对我来说很好

但是,当浏览器禁用cookie(并且正在使用URL重写)时,将http切换到https或再次切换回https会导致每次启动新会话。我想这是安全问题

Q1-是否可能/需要使用URL重写在http和https之间维护会话

问题2-如果不可能,那么电子商务开发人员如何处理非cookie用户

我不想阻止非cookie用户使用我的网站。我确实希望在http和https之间进行一些灵活的切换

谢谢你的帮助,
Steven.

似乎不希望使用相同的cookie或URL令牌在HTTP和HTTPS之间维护会话

想象一下,当您的用户登录时,电子商务网站中的每个请求/响应都会来回传递一个给定的cookie(或URL令牌)。如果中间的人能够读取cookie,那么他就可以用它登录到站点的HTTP或HTTPS变体。即使合法用户正在通过HTTPS执行任何操作,攻击者仍然能够访问该会话(因为他也将拥有合法的cookie)。他可以看到诸如购物车、付款方式、或者更改送货地址之类的页面

在HTTP会话和HTTPS会话(如果您使用会话)之间传递某种形式的令牌是有意义的,但将它们视为一个整体会导致一些漏洞。在查询参数中创建一个一次性的令牌——转换可能是一个解决方案。但是,您应该将它们视为两个单独的经过身份验证的会话


此漏洞有时会发生在使用混合HTTP和HTTPS内容的网站上(某些浏览器(如Firefox)会在出现此漏洞时向您发出警告,尽管大多数人倾向于在第一次弹出时将其禁用)。您可以在主页上使用HTTPS会话cookie,但该页面包含公司徽标的图像,通过普通HTTP。不幸的是,浏览器会同时发送这两个cookie(这样攻击者就可以访问cookie)。我见过这种情况发生,即使有问题的图像不在那里(浏览器会将带有cookie的请求发送到服务器,即使它返回404 not found)。

(我使用的是tomcat 6、JSP、servlets、eclipse IDE.No framework。)我可以从http切换到https,通过在JSP:等中执行操作来保持相同的url重写JSSessionID。。但这是个好习惯吗?谢谢布鲁诺。我得考虑一下这个。我想要一个安全,稳健的网站。但我也希望客户能够在网站上自由移动。遗憾的是,在安全问题上,你无法避免用户教育。诀窍是将其降至最低水平。你的用户将不得不期待他们进入或离开某个安全的地方,就像现在每个人都在检查浏览器上的网上银行一样。如果你的用户不希望检查,他们可能会被欺骗。攻击者可以很好地捕获所有普通HTTP请求并直接处理它们,而无需将它们发送到HTTPS页面(或者根据自己的意愿转发并更改内容)。目前我的意图是1)配置容器管理的身份验证(声明式、基于表单、SSL)。2) 使用筛选器检查每个请求中的IP/user agent/ssl是否保持不变。3)考虑禁用URL重写(主要是因为谣言影响谷歌搜索引擎优化)。再次感谢。关于第2点),您可能会发现有关跨站点请求伪造(CSRF)的阅读很有趣。这是一个稍微不同的问题,但源IP保护并不总是一件好事,特别是因为一些用户代理可能位于具有不同IP地址的代理服务器池后面。