如果您的Web服务器实现HTTP,通常的做法是301将所有http://*
URL重定向到它们的https://
等效项。
但是,在我看来,这意味着客户端的原始HTTP请求(及其中包含的任何数据)仍未完全加密,并且仅响应已加密。自动“升级”服务器端上所有不安全的请求是否有效地鼓励客户端继续向不安全的HTTP端点(或多或少downgrade attacking我自己)发送数据?
我知道我不能stop客户端不安全地将任何数据发送到any端点,但是自动将HTTP重定向到HTTPS的做法是否“容忍”了客户端这样做?更好的做法是完全拒绝所有可能包含敏感数据的HTTP流量,并使其成为尝试尝试或建议升级到HTTPS的浏览器责任吗?
如果您可以阅读HSTS上的Wiki,它说::
HSTS通过通知浏览器该站点的连接应始终使用TLS / SSL解决了中间问题。如果这是用户的首次访问,则攻击者可以剥离HSTS标头。 Google Chrome,Mozilla Firefox,Internet Explorer和Microsoft Edge试图通过包括“预加载”的HSTS网站列表来限制此问题。
因此,此预加载列表包含所有受欢迎的网站,您可能会在this chromium link中看到的所有列表都是humongous(10M),从而在一定程度上解决了上述问题。