security - 在重定向到 HTTPS 之前,HTTP 请求 header 是否可保护?

标签 security ssl connection

我正在尝试运行一个 HTTPS 站点,同时考虑到某些请求最初会尝试通过纯 HTTP 进行非安全连接的可能性。我可以成功地将 http:// 重定向到 https://,但是这种方法似乎将临时用户暴露在一个 Not Acceptable 漏洞中:因为 URI 和主机地址必须是在服务器知道是否/向(重新)定向请求之前传输,窃听者可以查看初始 HTTP 请求/响应 header 。用户可能会被窃听者欺骗,例如,窃听者读取 http:// 请求 header 并提供一个看起来与用户期望看到的页面非常相似的页面。

服务器能否采取中间操作,例如在客户端发送请求 header 之前将 HTTP 连接转移到 HTTPS,以便请求/响应 header 的传输与内容本身的传输一样受到保护?如果连接最初是不安全的,是否无法保护客户端和服务器之间的 header 传输?

最佳答案

您应该查看 HTTP 严格传输安全 (HSTS)。这将允许您的网站指示 modern browsers它应该只通过 HTTPS 加载。

这仍然会让您的用户在第一次访问您的网站时容易受到中间人攻击 (TOFU)。您只能通过将您的网站放在 preloaded HSTS list 上来缓解这种情况。 .

关于security - 在重定向到 HTTPS 之前,HTTP 请求 header 是否可保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34960962/

相关文章:

ruby - 错误 SSL 协议(protocol)错误 : ERROR bad URI

java - 使用 Java 与 MySQL 服务器的 SSL 连接

android - 低功耗蓝牙安全性如何在 Android 应用程序和 BLE 设备之间发挥作用?

security - 如何防止任意客户端应用程序使用匿名 Web API?

ruby-on-rails - 安装 SSL 后在生产模式下显示 Rails 开发风格的错误

java - Hibernate 在线程中检查与数据库的连接(每个时间段)

python - Django 和 postgres : Not connecting

Android Studio 找不到我的设备 - Lenovo Yoga

security - 在其他地方托管的代码有多安全

spring - Shiro 和 CAS 如何使用不同的域进行身份验证和授权?