如何防止 WordPress 中的图像盗链?

已发表: 2018-12-12

“我应该在 WordPress 中保留还是删除图片链接?” 这是一个可以争论很久的问题。

即使在选择托管 WordPress 托管之后,您也可能保留了默认设置。 但是想象一下,当您将图像上传并插入到文章或页面中时,链接会自动添加到图像本身。

如果您的访问者在文章中单击该图像,他们将被移动到另一个网站或仅以原始大小显示图像的页面。 通常,图像会缩放以无缝地适合您的文章。 这种现象称为热链接或内联链接。

防止 WordPress 中的图像盗链

什么是图片盗链?

盗链,也称为“带宽盗窃”,是个人为使用其计算和带宽资源而创建指向其他服务器上托管的内容(图像、视频)的直接链接的不正当行为。

一个典型的例子是直接链接到服务器A上的多媒体内容,这些内容插入到服务器B服务的网页中; 访问服务器B上的网页的访问者浏览器会向服务器A发出 HTTP 请求以检索多媒体资源,从而导致 CPU 和带宽的浪费,最终导致金钱损失。

盗链是如何工作的?

您必须回到 HTML 代码以首先了解图像在网页上的显示方式。

无需赘述,HTML 是一种由标记构成的简单语言:标记(在本例中为 HTML 标记)以分层方式分隔页面的每个元素,将值框起来并将属性带入其内容(宽度或高度)例如,图像或允许其描述的替代文本)。

图片的经典展示是在网站页面的代码中使用img标签和alt标签来实现的。 例如,请考虑以下场景。

服务器A网站的HTML代码:

<img src=”/image.jpg” alt=”description” />

因此,执行热链接的网站只需在图像标签的属性src (表示来源)中使用图像的直接地址即可继续进行。

这就是我们通常会做的事情,例如,当我们显示来自我们自己网站的图像时。

服务器B网站的HTML代码:

<img src=”http://www.yourdomain.com/image.jpg” alt=”description” />

最后,您最终会在未经您授权的情况下将您的一张图片发布到不属于您的网站上,并且锦上添花:这个恶作剧的肇事者正在刺痛您的带宽!

如何检测盗链?

这不明显!

您仍然可以使用 TinEye 等工具。 它是一个网站兼浏览器扩展程序,它将能够查找与您指定的图像相似的图像。 它工作得很好,在 TinEye 索引的网站的限制中,并且需要手动检查所有图像!

另一种解决方案是自动检测从您网站以外的网站加载的图像。 它在技术上更复杂,但效果很好。

原则上,Apache 服务器的.htaccess文件负责在图像显示之前进行截取。

如何使用 .htaccess 防止 WordPress 中的热链接

让我们看看如何通过在文档根文件夹的.htaccess文件中插入几行来防止 WordPress 中的盗链。

登录到您的托管平台在任何 FTP 软件(我正在使用 Filezilla)中使用您的登录凭据,转到/public_html/ → 并访问您的.htaccess文件。

想象一下,如果您的几张图片显示在流量非​​常高的论坛上,这种行为会产生怎样的影响?

连接到 FTP

首先,您需要查看/编辑(或创建)您网站根目录中的 .htaccess 文件。

Connect to FTP 2

打开文件后,在末尾粘贴以下行并保存文件:


重写引擎开启
RewriteCond "%{HTTP_REFERER}" "!^$"
RewriteCond "%{HTTP_REFERER}" "!www.yourdomain.com" [NC]
RewriteRule "\.(jpg|jpeg|png|gif|svg)$" "-" [F,NC]

注意:不要忘记将yourdomain.com替换为您网站的名称和扩展名。

  • 第一行用于激活mod_rewrite
  • 第二行允许空白引用。 您应该启用此功能,因为某些访问者可能会使用个人防火墙或防病毒程序来删除 Web 浏览器发送的页面引用信息。
  • 另一方面,当HTTP_REFERER未明确设置为yourdomain.com时,第三行是阻止内容下载和热链接的行,这应该是受保护的。 在这种情况下,需要将yourdomain.com替换为您希望保护的域名。
  • 第四行指定禁止的扩展,即那些被盗链禁止的扩展。

在这种情况下,您可以指定由“ | ”分隔的任意数量的扩展名 “ 特点。 此外,在这种情况下,比较不区分大小写,并且在肯定匹配的情况下,请求被重写到空文件上,从而产生 403 错误

从浏览器来看,按照服务器AB开头的示例,服务器B加载的网页似乎没有A加载的内容。 以这种方式对服务器A带宽和 CPU 的使用变得可以忽略不计,并且仅限于处理重写引擎的请求。

使用插件避免盗链

正如您可能知道的那样,插件可以扩展您网站的功能,从而防止您网站上的盗链。 以下是该领域最流行的 2 个插件:

1. iThemes 安全

iTheme 安全插件

iThemes Security 修复常见漏洞、阻止自动攻击并保护凭据。 该插件具有恶意软件扫描系统,以及跟踪用户进行内容更改以及连接和断开连接的能力。 许多其他功能可帮助您保护您的网站。

包起来!

要查看您是否通过.htaccess或插件阻止了热链接,请在 altlab.com 上测试您的网站,您必须在其中输入图像地址。 如果不显示或显示您选择的图像,则防盗链将处于活动状态。

您知道从 WordPress 图像中删除链接的其他方法吗? 如果是这样,请在下面的评论中分享您的做法。

*这是来自 Cloudways 的 Saud Razzak 的客座帖子。

*这篇文章可能有附属链接,这意味着如果您选择通过我的链接购买,我可能会收到少量费用(您无需支付额外费用)。 这有助于我们保持 WPMyWeb 正常运行并保持最新状态。 感谢您使用我们的链接,我们非常感谢! 学到更多。