我应该在每个页面上设置 https 吗?

Should I set https on every page?

我正在构建一个存储用户会话等的市场....我刚刚为登录和支付添加了 SSL 加密(我使用 stripe 作为支付网关)。我看到像 facebook 这样的网站在每个页面上都强制使用 HTTPS,这让我想知道,我应该在每个页面上强制使用 HTTPS 还是仅在登录和付款时强制使用 HTTPS? 旁注,显然 SSL 加密页面加载速度更快

是的。 但不仅仅是因为它加载速度更快,or even ranks better on Google than non-HTTPS 站点,而且主要是因为安全性。使用 HTTPS 使得进行中间人攻击变得更加困难,攻击会拦截您的网站与用户之间的连接以窃取或修改数据。 HTTP 的问题在于,有人可能会这样做,然后修改链接以指向虚假的登录页面以窃取数据(这听起来有点偏执,但确实发生了)。

虽然许多页面使用脚本来检查用户是否正在尝试访问 HTTP,然后将它们重定向到 HTTPS 版本,但这对于网站来说仍然是一个问题,因为攻击者仍然可以 'strip' 攻击任何 HTTPS链接(称为 SSLStrip attack) to use only HTTP and then view the data, take a look at enabling HSTS(HTTP 严格传输安全)以增强安全性以避免这种情况。这是通过强制浏览器仅在 HTTPS 连接上与网站交互并避免任何类型的降级攻击来完成的。