网站内容更新策略(如果你的页面开启了https,你会怎么办?)
优采云 发布时间: 2021-10-13 07:02网站内容更新策略(如果你的页面开启了https,你会怎么办?)
在 Chrome 80 中,如果你的页面开启了 https 并且你在页面上请求 http 音视频资源,这些资源会自动升级为 https,默认情况下,如果无法通过 https 加载,Chrome 会停止它们。这会导致一些不支持https协议的资源加载失败。
如果您想临时访问这些资源,可以通过更改以下浏览器设置来访问它们:
1.点击地址栏上的锁形图标,选择“站点设置”:
2.在“隐私设置和安全”中的“不安全内容”中选择“允许”:
您还可以通过设置 StricterMixedContentTreatmentEnabled 策略来控制这些更改:
此策略控制在浏览器中处理混合内容(HTTPS 站点中的 HTTP 内容)的方式。如果该策略设置为true或未设置,音视频混合内容将自动升级为HTTPS(即URL将重写为HTTPS,如果无法通过HTTPS获取资源,则不进行回退) 并将显示“不安全”警告在地址栏中显示混合图像内容。如果该策略设置为false,则音频和视频的自动升级将被禁用,并且不会显示图像警告。此策略不会影响除音频、视频和图像之外的其他类型的混合内容。
但是上面的策略是临时策略,会在Chrome 84中删除。更合理的方式是需要推送所有站点资源启用HTTPS,Chrome推荐这个。
2.强推SameSite Cookie
SameSite 是 Chrome 51 添加到浏览器 cookie 的新属性。SameSite 阻止浏览器通过跨站点请求发送此 cookie。其主要目标是降低跨源信息泄露的风险。它还在一定程度上防止了 CSRF(跨站请求伪造)。
Cookies 通常用于存储用户身份信息。恶意 网站 可以尝试使用正确的 cookie 伪造 HTTP 请求。这是 CSRF 攻击。
SameSite 可以避免通过跨站点请求发送 cookie。它具有以下三个属性:
严格的
Strict 是最严格的保护,将阻止浏览器在所有跨站点浏览上下文中将 cookie 发送到目标站点,即使是在遵循常规链接时也是如此。因此,此设置可以防止所有 CSRF 攻击。但是它的用户友好性太差,连普通的GET请求都不允许通过。
例如,对于普通站点,这意味着如果登录用户点击发布在公司论坛或电子邮件中的 网站 链接,该站点将不会收到 cookie,并且用户仍会访问地点。需要重新登录。
但是,带有交易服务的 网站 可能不想链接到任何来自外部站点的交易页面,因此这种场景最适合使用严格标志。
松懈
对于允许用户从外部链接访问此站点并使用现有会话的 网站 站点,默认的 Lax 值提供了安全性和可用性之间的合理平衡。Lax 属性仅在使用危险的 HTTP 方法(例如 POST 方法)发送跨域 cookie 时才会阻止。
比如用户在A站点点击了B站点(GET请求),如果B站点使用Samesite-cookies=Lax,那么用户就可以正常登录B站点了。相反,如果用户在站点 A 上向站点 B 提交表单(POST 请求),那么用户的请求将被阻止,因为浏览器不允许 POST 从域 A 向域 B 发送 cookie。
没有任何
浏览器会在同站请求和跨站请求下持续发送Cookies,不区分大小写。
政策更新
在较旧的浏览器中,如果未设置 SameSite 属性或正在运行的浏览器不支持,则其行为等效于 None,并且 Cookie 将收录在任何请求(包括跨站点请求)中。
但是,在 Chrome 80+ 版本中,SameSite 的默认属性是 SameSite=Lax。也就是说,当Cookie没有设置SameSite属性时,会被视为SameSite属性设置为Lax。如果要指定在同一站点和跨站点请求上发送 Cookie,则需要明确指定 SameSite 为 None。带有 SameSite=None 的 Cookie 也必须标记为安全并通过 HTTPS 传输。
如果您的 cookie 配置不正确。以下是来自 Chrome 80 和更早版本 Chrome(77 以上)中的开发者工具控制台的警告:
在 Chrome 88 之前,您将能够使用策略恢复到旧的 cookie 行为。您可以使用 LegacySameSiteCookieBehaviorEnabledForDomainList 指定受信任的域,也可以使用 LegacySameSiteCookieBehaviorEnabled 来控制全局默认值。有关更多详细信息,请访问 Cookie 旧 SameSite 政策:。
以上更新可能会影响以下功能:
以上更新建议您在新版浏览器中对您的站点功能进行一些测试,以免影响功能的正常使用。
您可以访问 chrome://flags/ 以默认启用 SameSite cookie,没有 SameSite 的 cookie 必须安全才能测试。