gpt4 book ai didi

.htaccess - 除了在 .htaccess 中强制使用 HTTPS 之外,我还需要启用 HSTS 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:11 24 4
gpt4 key购买 nike

我对这些东西一无所知,所以请 ELI5 在您的回复中。

按照我的提供商 Dreamhost 的说明,我安装了一个 SSL 证书,然后将这些行添加到我的 .htaccess 文件中以强制将 HTTP 请求重写为 HTTPS 请求。

# Redirect http requests to https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

一切似乎都正常工作,即:每次我尝试使用 HTTP 访问该域下的页面时,它都会被重写为 HTTPS,并且地址栏中会显示“安全”图标。

我的问题是,我还需要启用 HSTS 吗?阅读它,它似乎与之前对 .htaccess 文件所做的更改完全相同。这是 an excerpt from A2 Hosting (不是我的提供者):

Enabling HSTS

When HSTS is enabled for a site, web browsers automatically change any insecure requests (http://) to secure requests (https://). All you need to do to enable HSTS is add a header to your site's .htaccess file. Web browsers recognize this header, and then take care of the rest without any further intervention on your part.

他们建议将此添加到 .htaccess:

Header set Strict-Transport-Security "max-age=31536000" env=HTTPS

Another tutorial ,这次是针对 Dreamhost 的,它说要在 .htaccess 文件中启用 HSTS 并强制使用 HTTPS,但并没有真正说明原因。此页面建议略有不同:

Header set Strict-Transport-Security "max-age=31415926; includeSubDomains; preload" env=HTTPS

我需要“https 重写”代码片段和 HSTS 吗?或者只有“https 重写”代码片段就足够了吗?我是否需要 HSTS 代码,如果需要,我帖子中的两行 HSTS 代码有什么区别?

最佳答案

HSTS 让浏览器知道默认情况下只能通过 https 连接,但每个不同的标志都会做一些不同的事情:

  • 包含子域

这意味着如果您的站点位于 mydomain.com 上,则该政策将适用于所有子域(即 foo.mydomain.combar.mydomain .com 等)。不包括在内。该政策仅适用于相关的确切域。

  • 预加载

虽然 HSTS 在概念上很棒,但第一次有人键入 mydomain.com 时,浏览器会尝试通过 http 方案联系您的站点,因为它不知道您让您的站点位于 https 上,这为 MITM 攻击者提供了空间来为您提供该站点的恶意版本(又名 TOFU 问题)。要解决此问题,默认情况下应通过 https 联系网站的浏览器有一个集中列表,但要能够让自己进入该列表,您必须有 preload 该 header 中的标志。你可以看到更多关于这个here .

关于.htaccess - 除了在 .htaccess 中强制使用 HTTPS 之外,我还需要启用 HSTS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42866025/

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