切换到HTTPS的需要是一条阻塞记录。 长期以来,大多数商业网站和可读博客都以安全协议运行。 看来他们越过并忘记了。 但不是-Google处于戒备状态。 一次,他鼓励网站管理员切换到HTTPS,这使其成为排名因素。 现在,他启动了“负强化”-他开始完全阻塞了通过HTTP加载的资源。 而且-令人惊讶-他可能不喜欢您出色的HTTPS,因为该网站包含多种内容。
我们了解Google为什么不喜欢他,如何找到他并使它变得完美,所以一切都很好。
Google如何激励人们转向HTTPS:从姜饼到鞭打
Google致力于使用HTTPS保护数据传输的努力已经开始很久了:
- 2010年- 启用加密的Google搜索;
- 2011年-默认情况下,HTTPS 开始用于搜索Google和Gmail;
- 2014年-通过HTTPS加载网站成为排名信号 ;
- 2015年-Googlebot默认开始为网页的HTTPS版本建立索引 ;
- 2017年-在Chrome 62中,当使用HTTP在网站上输入数据时,有关不安全连接(“不安全”) 的通知开始出现在浏览器的地址栏中;
- 2018年-在Chrome 68中,HTTP上的所有网站开始在地址栏中被标记为不安全;
- 2019年-Google 宣布将系统地行动以确保仅将HTTPS资源加载到HTTPS页面上。 因此, Chrome将开始阻止混合内容 。
封锁将逐步实施:
- 2019年12月-Chrome 79将解锁您被阻止的内容。 使用此选项,您可以解锁Chrome默认阻止的脚本,框架和其他类型的内容。 此选项如下所示:
- 2020年1月-在Chrome 80中,音频和视频内容将自动从HTTPS下载。 如果通过HTTPS下载失败,则Chrome将阻止此类资源。 如有必要,用户可以手动将其解锁。 在Chrome 80中,将不会阻止使用HTTP上传到HTTPS站点的图像,但是会出现一条消息,表明连接不安全。
- 2020年2月-Chrome 81将自动从HTTPS下载图像。 如果无法访问它们,浏览器将阻止它们。
混合内容阻止不仅在Chrome中使用。 例如,活动内容阻止Firefox(版本23),Internet Explorer(版本9)和其他浏览器。 但是,图片,音频和视频内容的屏蔽正是从Google开始的。
由于刺激了向安全协议的过渡,过去一年中使用HTTPS的网站所占比例已从43.5%增加到56.5%。
来自俄罗斯的用户在Chrome浏览器中加载的网页中有85%通过HTTPS传输数据。 2015年,该指标仅为28%。
考虑到在俄罗斯,大约41%的用户使用Chrome浏览器,因此值得准备阻止混合内容,以免丢失业务量和在组织中的职位。
Promopult系统中的SEO模块 :用于提高网站质量和搜索引擎推广的所有工具。 全方位的工作-与我们一起您将不会错过任何一件小事。 清单,提示,透明的报告和专业建议。 担保,分期付款。
让我们按顺序整理一下。
什么是混合内容,为什么不应该出现在网站上
混合内容(原始内容为“混合内容”)是指通过安全的HTTPS连接加载页面,但通过不安全的HTTP发送单个资源(图像,样式,脚本等)的情况。
例如,您已切换到HTTPS(还不是吗?这是说明 )。 但是在其中一个页面上,您仍在从外部库加载图像,该库位于site.ru站点类型的地址。 这是混合的内容。
根据W3C规范 ,混合内容分为两种类型:
- 可选地可锁定(包括图像,视频,音频);
- 可锁定的(其他内容-脚本,样式,框架,Flash等)。
被阻止的内容是活动的。 攻击者可以拦截和修改活动内容,以便他们完全控制页面甚至整个站点。 窃取用户密码和个人数据,Cookie,将用户重定向到另一个站点,更改可见内容只是通过HTTP姿势下载活动内容的威胁的一些示例。
由于潜在的高损害和对用户的风险,建议浏览器阻止此类混合内容。
以下是一些被视为活动内容的HTTP请求:
- <script>(src属性);
- <link>(href属性)(包括CSS中的链接);
- <iframe>(src属性);
- XMLHttpRequest请求
- 提取()个请求
- 使用CSS中的链接(字体,光标,背景图像);
- <object>(数据属性)。
可选阻止的内容是被动的。 如果攻击者拦截了该站点,则他们将无法破坏该站点或接管例如用户的支付数据。
但是危险仍然存在。 例如,攻击者可以拦截图像或视频并将其替换为其他图像或视频。 这可能会严重损害声誉(有关联邦渠道或州机构网站上带有色情内容的视频或图片的出现的故事,记忆犹新)。 此外,攻击者可以跟踪用户浏览了哪些页面,他们感兴趣的产品以及他们浏览了哪些内容。
以下是被视为被动内容的HTTP请求类型:
- <img>(src属性);
- <audio>(src属性);
- <video>(src属性)。
如果您不想阻止网站上的资源,请对其进行审核,找到混合的内容并通过HTTPS对其进行访问。
如何在网站上检测混合内容
有多种方法可以确定您的网站包含混合内容。
通过浏览器地址栏中的图标
这是最明显的方法。 例如,我们将打开一个包含通过HTTP上传的图片的安全页面 。 该页面的源代码为:
在Chrome浏览器中,我们看到一个图标,单击该图标可获得说明:
Mozilla Firefox有一个类似的故事:
该方法的缺点:
- 目前尚不清楚哪些资源是通过HTTP加载的;
- 您必须手动检查每个页面。
因此,它不是完整的搜索混合内容的方式,而是更多的指标。
通过搜索页面源
在浏览器中打开页面的源HTML代码(Ctrl + U),然后查找片段“ http:”(Ctrl + F)。
在这种情况下,我们确切知道通过HTTP加载了哪些资源。 但是,如果站点上有很多页面,则此方法无效。
开发者控制台中的通知
我们在要检查的Chrome中打开页面 ,然后按Ctrl + Shift +I。页面包含混合内容,如“混合内容”错误和详细说明所证明。
同样,我们可以检查Firefox中的错误:
该方法的优势在于,所有与在页面上加载混合内容有关的错误都会立即在控制台中收集。 同样,缺点是您必须手动检查每个页面。
JitBit的SSL检查器
JitBit是识别站点上具有混合内容的页面的快速方法。 我们指定域-我们收到“问题” URL的列表。
缺点是不清楚页面上混合了哪种类型的内容。 然后,您必须手动检查所有内容。 此外,该服务不适用于页面超过300-400的网站。
灯塔混合内容报告
此方法使您可以通过URL数组立即获取数据。 您不必手动检查每个URL,您将看到通过HTTP加载的资源的完整列表。
但是默认情况下,Lighthouse扩展程序没有混合内容报告。 它必须从命令行运行。 怎么做:
1.安装Google Canary Developer浏览器。
2.安装Node.js。
3.运行Node.js命令提示符
4.运行命令:
npm install -g lighthouse
Lighthouse安装开始。
成功完成安装后,您将收到以下通知:
5.使用以下命令运行报告(将URL替换为页面地址,格式为site.ru ):
lighthouse --preset="mixed-content" URL
报告生成将开始。
完成后,系统将通知您报告存储在哪个文件夹中。
默认情况下,报告以HTML格式保存。
您可以使用--output命令更改输出格式。 有关这些命令和其他命令的帮助,请在控制台中键入:
lighthouse --help
该报告有两次审核:
- 使用HTTPS
- 安全资源加载。
如果有问题,将指示通过HTTP加载了哪些资源。
一次针对多个URL的Lighthouse混合内容报告
要检查多个URL:
1.创建一个TXT文件,并在其中放入要检查的URL列表。
2.创建一个BAT文件,并将以下代码放入其中(用引号引起来的是您的TXT文件的路径及其名称):
@For /F "UseBackQ Delims=" %%A In ("C:\Users\light\urls.txt") Do @LightHouse "%%A" --preset="mixed-content"
3.从命令行运行BAT文件。 如果文件与报告存储在同一文件夹中,只需输入文件名并按Enter。 否则,您需要写开始并用空格指定BAT文件的地址。
您必须等待多长时间,取决于文本文件中URL的数量。 对于每个URL,您将收到一个单独的报告。
感谢Christopher Giezendanner的这种方法。
尖叫青蛙SEO蜘蛛的混合内容报告
这可能是最方便的方法。 但是,与以前的不同,它是有偿的。 Screaming Frog SEO Spider计划的费用为每年149英镑。
要获取数据,请运行“不安全内容”报告,您将拥有HTTP资源列表。
在PromoPult博客上了解如何使用Screaming Frog解析来自任何站点的几乎所有数据。
如何消除混合内容
因此,您在网站上发现了混合的内容。 大约一半的工作已经完成。 但是您仍然需要消除它。 没有单一的解决方案-您必须根据情况采取行动。
来自HTTP的链接可以导致内部资源和外部资源。
切换到HTTPS后,必须使用HTTPS加载所有内部资源。 通常,他们将绝对链接更改为相对链接,设置重定向,然后立即解决问题。
借助外部资源并不是那么简单。
理想的情况是这样的:
- 用HTTP查找URL;
- 通过HTTPS检查是否有相同的资源;
- 如果是,则将链接从HTTP更改为HTTPS;
- 检查-如果一切正常,请忽略该问题。
但是碰巧资源无法通过HTTPS获得。 在这种情况下,有三种解决方案:
- 与资源所有者联系,并要求他切换到HTTPS(这来自科幻小说类别)。
- 在HTTP上找到资源的安全替代方法(所有不错的资源早已切换到HTTPS)。
- 不执行任何操作(这是一种极端情况-如果您根本无法替换资源,这对您的用户很重要)。
纯粹从技术上讲,替换单个URL更容易(例如,在您提到的网站中没有HTTPS的文章中)。 打开源代码并进行编辑就足够了。
但是有些URL不能一fixed而就。 例如,这包括样式,脚本,端到端链接等的链接。在这种情况下,您应该连接程序员或使用插件。
例如,对于WordPress,有这样的插件:
- SSL不安全内容修复程序 。 允许您自动修复不安全资源的链接。 方便地,您可以选择其他“更深”的更正,并且在必要时可以忽略外部站点。
- 真正简单的SSL 。 这是一个可以快速切换到HTTPS的插件。 它会自动将链接更改为相对链接,并消除混合内容。 PRO版本可以扫描站点中的混合内容。
- 搜索并替换 。 一个用于搜索和替换网站上任何内容(包括混合内容)的插件。 域在“替换域URL”选项卡上更改。
替换后,您可以看到详细信息-替换了哪些链接以及哪些部分代码。
使用插件时,务必要清楚地了解自己在做什么。 我们建议您先备份网站,然后再进行更改。 因此,您始终可以返回起点。
也许HTTPS的力量与您同在。