gpt4 book ai didi

.htaccess - 2-redirect HSTS 而不是 1-redirect HSTS 的优势是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:39:37 24 4
gpt4 key购买 nike

https://hstspreload.org/建议应该有 2 个重定向:

  1. http://yourdomain.comhttps://yourdomain.com

  2. https://yourdomain.comhttps://www.yourdomain.com

我在 .htaccess 文件中使用以下代码实现了 2 重定向解决方案:

RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

但我想知道如何失去我之前使用的这个单一重定向规则的优势:

RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]

所以现在我很困惑,我是否应该使用 2 重定向实现来强制 https 而不是单一重定向解决方案?

为了安全和 SEO 使用单重定向和双重定向的优缺点是什么。

此外,我已经在 .htaccess 中使用它添加了 HSTS header :

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

那么我是否需要提交到 HSTS 预加载列表以实现 HSTS 或添加上述 header 就足够了?

最佳答案

如果你一步直接走:

http://example.com => https://www.example.com

那么你将永远不会选择 https://example.com 的 HSTS 策略,因为你从未通过 https 访问过该裸域。这是因为 example.com 很常见(默认为 http://),但 www 站点很少使用 https://example.com

这有两个问题:

  1. 它的安全性较低,因为只有您的 www 域受到保护。例如,如果攻击者设法在 http://example.com 上进行 MITM 流量,那么他们可以覆盖 https://www.example.com 上的 cookie。
  2. 如果 HSTS 策略尚未在裸域上广泛使用,则预加载域会更加危险,因为您可能认为一切正常,然后进行预加载,然后发现无法通过 HTTPS(例如 http://blog.example.comhttp://intranet.example.com 甚至 http://dev.example.com )并且恢复预加载非常困难(基本上不可能?)(这是我不喜欢也不推荐它的主要原因,除了高知名度的网站)。

因此建议执行此双重重定向,以便有更好的机会选择该域。对于使用您的裸域而不是您首选的 www 版本的用户来说尤其如此。

双重重定向的替代方法是从主页中的裸域加载资源。例如:

<img src=“https://example.com/1pixel.png”>

这将确保加载裸域的 HSTS 策略,实际上比双重重定向更好,因为如果您直接转到 http://www.example.comhttps://www.example.com,它也会选择此策略。

就 SEO 和性能而言,说实话,这并没有太大的不同。双重重定向会对性能产生轻微影响,并且可能会稀释一些“SEO juice”,但我认为大多数人会将您链接为您的首选域( https://www.example.com )而不是裸域,重定向是互联网的标准部分,处理起来相当快。

Also I have already added HSTS header using this in .htaccess:

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

So should I need to submit to HSTS preload list to have HSTS implementation or adding the above headers is enough?

我强烈建议不要提交到预加载列表并从您的 header 中删除 preload 属性(这样就没有人可以为您提交您的网站)。如上所述,预加载基本上是不可逆的,因此您需要非常确信这就是您想要的。

的确,互联网正在转向 HTTPS,因此假设您只需要通过 HTTPS 访问您的网站和该域下的每个网站,这样做应该是相当安全的,但您会惊讶于有多少人发现实际上,他们在该域下有一个站点(或多个站点)仍然需要 HTTP。如果您仅在预加载后发现这些,那么您只能选择我们将所有这些 HTTP 站点迁移到 HTTPS,否则在用户的浏览器获得您的预加载说明后,它们将对用户保持不可用状态。

如果您在使用 HTTP header (最好使用上述像素技巧)运行几周或几个月后没有发现任何问题,那么您可能希望考虑预加载。但老实说,我认为这对大多数网站来说都太过分了。请在此处查看我的帖子,了解有关我有此(有点争议)意见的一些原因的更多信息:https://www.tunetheweb.com/blog/

关于.htaccess - 2-redirect HSTS 而不是 1-redirect HSTS 的优势是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56799080/

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