0

AFAIK HSTS is a server side property that tells the browser that is should only work with https request with this server (correct me please if I'm wrong).

HSTS will not help in cases of redirecting from http to https, in this time frame of redirection MIM attack can happen, unless you site listed on the browser HSTS list.

If I have a server that only get requests from libcurl do I need to support HSTS? Will it have any meaning? Does libcurl also supports HSTS and will works only with https sites after receiving this param from the server?

4

1 回答 1

4

AFAIK HSTS 是一个服务器端属性,它告诉浏览器应该只使用该服务器的 https 请求(如果我错了,请纠正我)。

正确的。

在从 http 重定向到 https 的情况下,HSTS 将无济于事,在此时间范围内可能会发生重定向 MIM 攻击,除非您的站点在浏览器 HSTS 列表中列出。

如果用户代理不了解 HSTS,那么它根本无济于事。此外,HSTS 是“首次使用时信任”功能。这意味着如果用户代理没有域的 HSTS 记录并依赖重定向到 HTTPS,则用户代理别无选择,只能信任它。HSTS 预加载旨在解决该问题,其中域对于 HSTS 始终固定为“是”。

如果我的服务器只能从 libcurl 获取请求,我是否需要支持 HSTS?会有什么意义吗?libcurl 是否也支持 HSTS 并且在从服务器接收到此参数后仅适用于 https 站点?

单独使用 libcurl 和 HSTS 并没有直接的好处。libcurl 不会记录已知的 HSTS 主机。使用 libcurl 的开发人员可以在 libcurl 之上开发 HSTS,但如今 libcurl 本身并不能这样做。

于 2016-08-08T17:24:40.260 回答