如何实现WordPress网站防盗链插图

没有什么比有人窃取图像或带宽更糟糕的了,但这种情况经常发生,因为互联网上的一切都是公开的,人们可以轻松链接到。如果此人链接到您必须获得使用许可的库存照片,这可能会花费服务器带宽、流量,即您的金钱

今天我们将解释什么是盗链,它为什么不好,以及如何防止其他人在您WordPress网站上的盗链。

  • 什么是盗链?
  • 为什么盗链不好
  • 防盗链会影响SEO吗?
  • 如何防盗链
  • 如何提交DMCA删除通知

什么是盗链?

盗链的概念非常简单。您可以在Internet上的某处找到图像,然后直接在您的站点上使用图像的 URL。此图片将显示在您的网站上,但将从原始位置提供。这对盗链者来说非常方便,但实际上是盗窃,因为它使用了盗链网站的资源。这就像我们上车开走我们从邻居车里吸走的汽油一样。

为什么盗链不好

以下是盗链时需要注意的几件事:

1. 盗链花费了原始网站所有者的钱

有人从他们的网站链接到您的图片可能看起来没什么大不了的,但这可能会给您带来很多额外的成本。燕麦片就是一个很好的例子。赫芬顿邮报热链接了他的一部由多张图片组成的卡通片。由于我们谈论的是一个流量很大的主要出版物,这给The Oatmeal带来了很多额外的成本,因为成千上万的人正在收到这些图像。在经典的Oatmeal举措中,The Oatmeal的创建者Matthew Inman将所有热链接文件替换为以下内容:

如何实现WordPress网站防盗链插图1 盗链示例

他还小心地用一张画着“后面”和“小便”的图片替换了最后一张图片。惊人的!但正如您所看到的,成本会迅速增加,特别是如果高流量站点是您的内容盗链的站点。您想相信所有作家和博主都知道如何正确使用图像吗?可能不是。这就是盗链保护存在的原因。

2. 盗链在大多数情况下是非法的

在很多情况下,盗链实际上是非法的。为什么?因为您在网络上看到的许多照片都附加了许可限制。以下是一些常见的图片限制,限制了流行图片网站的许可:

  • “在任何情况下都不允许商业用途。”
  • “在您拥有的网站或博客上发表的文章(在文章或新闻中仅用于说明目的)。”

如果有人链接到您的图片并在他们的网站上使用它,则上述两种限制都很容易被打破。他们很可能没有这样做的许可,因为他们没有为许可证付费。这也与没有在他们的网站上正确链接到它密切相关,但也与原始创建者的正确归属密切相关。

3. 服务器资源耗尽

盗链可能会大量消耗目标服务器的资源。想象一下,如果您在共享的 WordPress 主机上,而赫芬顿邮报突然链接到您的图像。您网站上的每小时查询可能会从几百次增加到几十万次。这甚至可能导致您的主机帐户被暂停。这绝对是不仅要使用高性能主机(可以处理像这样的打嗝),还要启用热链接保护以免发生这种情况的原因。

4.盗链只是懒惰

人们盗链仅仅是因为他们懒惰吗?嗯,很多时候,人们不会故意热链接到您的图像,并且不知道这甚至是一个问题。他们通常只是忙于写作,只是复制粘贴 URL 和文件。他们甚至可能不知道如何正确链接到图像。然而,这仍然不是一个好的借口。如果您在网络上撰写内容,了解链接到其他人的图像以及正确归属的最佳做法非常重要。

防盗链会影响SEO吗?

阻止他人盗链不会影响SEO,但确实需要正确设置。有来自Google、Bing、Yahoo等的爬虫需要访问您的图像才能索引并正确显示它们。例如,当您在Google图片搜索中看到图片时,缩略图会从Google的图片缓存中提供。但是原始版本(如果您单击它)实际上是从您的服务器提供的。

如何实现WordPress网站防盗链插图2

Google图片搜索中的盗链

并且您希望在Google图片搜索中使用您的图片。正如WordStream所说,谷歌图片搜索流量是一种“轻松取胜”,实际上可以为您的业务带来转化和潜在客户,否则您可能无法获得。

如何防盗链

有几种简单的方法可以保护您的图片免遭盗链,让我们来看看我们拥有的选项。

  • CDN
  • Apache
  • NGINX
  • WordPress插件
  • 禁用右键复制
  • 重命名文件
  • cPanel

你们中的大多数人通过自己的网站在全球范围内提供内容,并反过来使用CDN提供商来加快资产的交付。CDN提供商(例如KeyCDN和Cloudflare)已经免费内置了强大的热链接保护,您可以启用它们。这是推荐的方法,因为它们对实际上不应该被阻止的机器人和其他推荐人有非常微调的规则。在CDN上执行此操作的另一个好处是,您无需对 WordPress 安装进行任何更改。

如果您使用KeyCDN,只需单击Zonereferrers并添加规则。抓取工具仍然可以访问和索引您的图像。

如何实现WordPress网站防盗链插图3

KeyCDN盗链保护

他们甚至有一个一键式选项,允许每个区域为空引荐来源。

如何实现WordPress网站防盗链插图4

KeyCDN允许空引用

这将为您的CDN上的资产启用热链接保护,而不是您的源服务器。因此,如果您非常担心有人直接在您的服务器上盗链到您的图像,您还可以在源服务器上启用盗链保护(请参阅下面的Apache和NGINX规则)。这不太可能,因为有人必须手动删除CDN URL。但它可能发生。

如果您使用的是Cloudflare,则可以在您的帐户中的Scrape Shield下轻松启用盗链保护。盗链保护对抓取没有影响,但会阻止图片在谷歌图片、Pinterest 等网站上显示。 由于Cloudflare是完全代理服务,因此您无需担心在源服务器上启用盗链保护.

如何实现WordPress网站防盗链插图5

Cloudflare盗链保护

如果您使用的是Amazon S3,则可以使用bucket策略启用热链接保护 ,该策略位于存储桶的“Permissions”下。

如何实现WordPress网站防盗链插图6

Amazon S3盗链保护

只需在下面添加以下代码:

{
"Version": "2008-10-17",
"Id": "preventHotLinking",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-brand-new-bucket/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://yourwebsitename.com/*",
"http://www.yourwebsitename.com/*"
"https://google.com/*"
"https://bing.com/*"
"https://yahoo.com/*"
]
}
}
}
]
}

如果您的WordPress站点在Apache上运行,您需要做的就是打开站点根目录中的 .htaccess文件(或创建它)并添加以下内容:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yahoo.com [NC]
RewriteRule .(jpg|jpeg|png|gif|svg)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]

第二行允许空白引用。您很可能希望启用此功能,因为某些访问者使用个人防火墙或防病毒程序来删除 Web 浏览器发送的页面引用信息。如果您不允许空白引荐来源网址,您可能会无意中为这些用户禁用所有图片。

第三行定义了允许的引用者,即允许直接链接到图像的站点,这应该是您的网站(用您的域更新上面的yourdomain.com)。第四、第五和第六行将搜索引擎添加到允许列表中,因为您不想阻止诸如Google bot或Bing bot之类的爬虫。这可能会阻止您的图片在Google图片搜索中显示和编入索引。

第七行定义了您希望访问者看到的图像,以代替受热链接保护的图像。这不是必需的,但您可以给他们一个友好的警告。如果您想允许多个站点,您可以复制此行并替换引用者。如果你想生成一些更复杂的规则,看看这个htaccess hotlink protection generator。

如果您将上述规则与CDN一起使用,您可能还需要将您的 CDN 子域列入白名单。

如果你在NGINX上运行,你需要做的就是打开你的配置文件并添加以下内容:

location ~ .(gif|png|jpeg|jpg|svg)$ {
valid_referers none blocked ~.google. ~.bing. ~.yahoo. yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return   403;
}
}

WordPress插件

有一些与盗链相关的WordPress插件,但许多一次性插件维护得不好或评论不佳。我们不建议使用它们。我们建议您查看All In One WP Security And Firewall 插件,它是一款出色的全方位安全插件,具有内置防止盗链的功能。但是,通常最好在服务器或CDN级别启用盗链保护。

如何实现WordPress网站防盗链插图7

All In One WP Security And Firewall

All In One WP Security & Firewall目前有超过 500,000 的活跃安装,您可以从WordPress插件库下载它,也可以在WordPress仪表盘中的“安装插件”下搜索它。

在WordPress中禁用右键单击菜单

在WordPress中防止盗链的另一个选项是禁用右键单击功能。这绝不是万无一失的方法,而是确保典型用户不会窃取您的图像或将它们复制到其他应用程序并将其链接到您的源域的好方法。

有一个很棒的免费小插件叫做Prevent Content Theft,它可以帮助阻止这种情况。您可以从WordPress插件库下载它,也可以在WordPress仪表盘中的“安装插件”插件下搜索安装。无需设置,只需安装即可。

如何实现WordPress网站防盗链插图8

WordPress插件-Prevent Content Theft

该插件不仅禁用右键单击您的图像,还禁用整个页面,从而保护您的内容。我们在我们的开发站点上安装并测试了它,您可以在下面看到用户尝试右键单击图像时发生的情况的示例。他们会看到一个通知框,让他们知道此功能已禁用。

如何实现WordPress网站防盗链插图9

在WordPress中禁用右键单击

重命名文件

如果您突然发现一个高流量站点或多个来源盗链到单个图像,您可以使用的一个简单方法是简单地重命名文件。更改您自己网站上的链接,让热链接者在他们的图像变成404错误时怒不可遏。虽然方便,但这种方法更像是一种快速修复,对于大规模盗链来说使用起来有点笨拙。

cPanel设置

如果您为您的域安装cPanel或WHM,您可以使用内置的防盗链工具。查看cPanel文档了解更多信息,就像启用设置一样简单。

如何提交DMCA删除通知

另一个解决方案是,由于他们不拥有该图像并且未经您的许可而使用它,您可以随时提交DMCA删除通知。这可以是确保它被删除的快速方法。你会惊讶于一封快速的“滥用”信会做什么。许多网站所有者会立即处理这个问题,因为他们害怕法律诉讼。

小结

如果您是内容聚合者和狂热的分享者,请确保玩得好并链接到网站,不要直接盗链图像。如果你真的是你所展示的东西的粉丝,你会更多地支持原作者!如果您是内容创建者,请确保保护自己免遭盗窃,盗链是一个不太难防止的领域。上述任何一种方法都将确保您节省金钱、时间和带宽。