【发布时间】:2012-05-14 09:48:52
【问题描述】:
我正在开发一个 Web 应用程序,需要通过 HTTP 重定向传递数据。例如:
http://foo.com/form.html
发帖到
http://foo.com/form/submit.html
如果数据有问题,响应会被重定向回
http://foo.com/form.html?error=Some+error+message
查询参数“error”的值会显示在页面上。
是否有任何其他可靠的方式来跨重定向传递数据(即 HTTP 标头等)。
将数据作为查询参数传递是可行的,但并不理想,因为:
- 它的明文(在查询字符串中,因此 SSL 不能依赖于 encyrpt)所以我不想传递敏感数据
- URI 的长度受浏览器的限制(尽管长度通常相当长)。
重要提示:此平台是无状态的,并且分布在许多应用服务器上,因此我无法跟踪服务器端会话对象中的数据。
【问题讨论】:
-
"[...] 并在查询字符串中,因此 SSL 不能依赖于 encyrpt"。不确定您在这里想说什么(无论如何您都在使用纯 HTTP),但 HTTPS encrypts all the HTTP traffic.
-
再次强调@Bruno 的评论:您怎么会说请求行不受 SSL 保护。某些 cmets 稍后您会重复:“Cookie 已加密,请求行未加密”......这不是真的。 SSL 隧道 IP 有效负载,所有 HTTP 协议都是其中的一部分(请求行、标头、有效负载......)。请求行在 application(浏览器、日志)层上非常简单。但是,即使稍微复杂一点,您也会在这里遇到同样的安全漏洞。
标签: java http response.redirect post-redirect-get http-redirect