gpt4 book ai didi

java - 在 Google App Engine 中,当 isSecure() 返回 false 时,ServletRequest 上的 getScheme() 是否可以返回 "https"?”

转载 作者:行者123 更新时间:2023-11-30 03:44:11 24 4
gpt4 key购买 nike

在 Google App Engine 中,当 isSecure() 返回 false 时,ServletRequest 上的 getScheme() 是否可以返回“https”?”

这是 this 的后续问题.

最佳答案

我认为这个问题缺少您在另一个问题上添加的一些上下文,因为您担心的似乎是证书错误,我认为合适的答案是:

getScheme() 即使在证书错误的情况下也会返回 https,但前提是(当然)客户端选择接受有错误(不受信任、过期等)的服务器证书在 SSL 握手期间。例如,客户端可能使用了curl -k 标志。

在您原来的问题中,您提到:

[if getScheme() returns "https"] is it guaranteed that a HTTPS connection has been established and there were no certificate errors?

我认为您的问题中有一个有缺陷的假设,即证书错误意味着未建立 HTTPS 连接。如果出现证书错误(不受信任的颁发者、过期的证书等),有两种可能性:

  1. 客户端终止 SSL 握手(不会有任何请求到达并由您的应用程序处理)。
  2. 客户端已明确选择信任此证书,或者选择忽略过期的证书和其他错误 (curl -k)。在这种情况下,将建立 https 连接并且请求将继续。您的应用当然会看到 getScheme() 返回的“https”,因为 https 连接已建立。但从客户端的角度来看,这可能不是一个值得信赖的连接。

关于java - 在 Google App Engine 中,当 isSecure() 返回 false 时,ServletRequest 上的 getScheme() 是否可以返回 "https"?”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26148119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com