如何實現WordPress網站防盜鏈

如何實現WordPress網站防盜鏈

沒有什麼比有人竊取影象或頻寬更糟糕的了,但這種情況經常發生,因為網際網路上的一切都是公開的,人們可以輕鬆連結到。如果此人連結到您必須獲得使用許可的庫存照片,這可能會花費伺服器頻寬、流量,即您的金錢

今天我們將解釋什麼是盜鏈,它為什麼不好,以及如何防止其他人在您WordPress網站上的盜鏈。

什麼是盜鏈?

盜鏈的概念非常簡單。您可以在Internet上的某處找到影象,然後直接在您的站點上使用影象的 URL。此圖片將顯示在您的網站上,但將從原始位置提供。這對盜鏈者來說非常方便,但實際上是盜竊,因為它使用了盜鏈網站的資源。這就像我們上車開走我們從鄰居車裡吸走的汽油一樣。

為什麼盜鏈不好

以下是盜鏈時需要注意的幾件事:

1. 盜鏈花費了原始網站所有者的錢

有人從他們的網站連結到您的圖片可能看起來沒什麼大不了的,但這可能會給您帶來很多額外的成本。燕麥片就是一個很好的例子。赫芬頓郵報熱連結了他的一部由多張圖片組成的卡通片。由於我們談論的是一個流量很大的主要出版物,這給The Oatmeal帶來了很多額外的成本,因為成千上萬的人正在收到這些影象。在經典的Oatmeal舉措中,The Oatmeal的建立者Matthew Inman將所有熱連結檔案替換為以下內容:

盜鏈示例 盜鏈示例

他還小心地用一張畫著“後面”和“小便”的圖片替換了最後一張圖片。驚人的!但正如您所看到的,成本會迅速增加,特別是如果高流量站點是您的內容盜鏈的站點。您想相信所有作家和博主都知道如何正確使用影象嗎?可能不是。這就是盜鏈保護存在的原因。

2. 盜鏈在大多數情況下是非法的

在很多情況下,盜鏈實際上是非法的。為什麼?因為您在網路上看到的許多照片都附加了許可限制。以下是一些常見的圖片限制,限制了流行圖片網站的許可:

  • “在任何情況下都不允許商業用途。”
  • “在您擁有的網站或部落格上發表的文章(在文章或新聞中僅用於說明目的)。”

如果有人連結到您的圖片並在他們的網站上使用它,則上述兩種限制都很容易被打破。他們很可能沒有這樣做的許可,因為他們沒有為許可證付費。這也與沒有在他們的網站上正確連結到它密切相關,但也與原始建立者的正確歸屬密切相關。

3. 伺服器資源耗盡

盜鏈可能會大量消耗目標伺服器的資源。想象一下,如果您在共享的 WordPress 主機上,而赫芬頓郵報突然連結到您的影象。您網站上的每小時查詢可能會從幾百次增加到幾十萬次。這甚至可能導致您的主機帳戶被暫停。這絕對是不僅要使用高效能主機(可以處理像這樣的打嗝),還要啟用熱連結保護以免發生這種情況的原因。

4.盜鏈只是懶惰

人們盜鏈僅僅是因為他們懶惰嗎?嗯,很多時候,人們不會故意熱連結到您的影象,並且不知道這甚至是一個問題。他們通常只是忙於寫作,只是複製貼上 URL 和檔案。他們甚至可能不知道如何正確連結到影象。然而,這仍然不是一個好的藉口。如果您在網路上撰寫內容,瞭解連結到其他人的影象以及正確歸屬的最佳做法非常重要。

防盜鏈會影響SEO嗎?

阻止他人盜鏈不會影響SEO,但確實需要正確設定。有來自Google、Bing、Yahoo等的爬蟲需要訪問您的影象才能索引並正確顯示它們。例如,當您在Google圖片搜尋中看到圖片時,縮圖會從Google的圖片快取中提供。但是原始版本(如果您單擊它)實際上是從您的伺服器提供的。

Google圖片搜尋中的盜鏈

Google圖片搜尋中的盜鏈

並且您希望在Google圖片搜尋中使用您的圖片。正如WordStream所說,谷歌圖片搜尋流量是一種“輕鬆取勝”,實際上可以為您的業務帶來轉化和潛在客戶,否則您可能無法獲得。

如何防盜鏈

有幾種簡單的方法可以保護您的圖片免遭盜鏈,讓我們來看看我們擁有的選項。

你們中的大多數人通過自己的網站在全球範圍內提供內容,並反過來使用CDN提供商來加快資產的交付。CDN提供商(例如KeyCDN和Cloudflare)已經免費內建了強大的熱連結保護,您可以啟用它們。這是推薦的方法,因為它們對實際上不應該被阻止的機器人和其他推薦人有非常微調的規則。在CDN上執行此操作的另一個好處是,您無需對 WordPress 安裝進行任何更改。

如果您使用KeyCDN,只需單擊Zonereferrers並新增規則。抓取工具仍然可以訪問和索引您的影象。

KeyCDN盜鏈保護

KeyCDN盜鏈保護

他們甚至有一個一鍵式選項,允許每個區域為空引薦來源。

KeyCDN允許空引用

KeyCDN允許空引用

這將為您的CDN上的資產啟用熱連結保護,而不是您的源伺服器。因此,如果您非常擔心有人直接在您的伺服器上盜鏈到您的影象,您還可以在源伺服器上啟用盜鏈保護(請參閱下面的Apache和NGINX規則)。這不太可能,因為有人必須手動刪除CDN URL。但它可能發生。

如果您使用的是Cloudflare,則可以在您的帳戶中的Scrape Shield下輕鬆啟用盜鏈保護。盜鏈保護對抓取沒有影響,但會阻止圖片在谷歌圖片、Pinterest 等網站上顯示。 由於Cloudflare是完全代理服務,因此您無需擔心在源伺服器上啟用盜鏈保護.

Cloudflare盜鏈保護

Cloudflare盜鏈保護

如果您使用的是Amazon S3,則可以使用bucket策略啟用熱連結保護 ,該策略位於儲存桶的“Permissions”下。

Amazon S3盜鏈保護

Amazon S3盜鏈保護

只需在下面新增以下程式碼:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"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/*"
]
}
}
}
]
}
{ "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/*" ] } } } ] }
{
"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檔案(或建立它)並新增以下內容:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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]
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]
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上執行,你需要做的就是開啟你的配置檔案並新增以下內容:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
location ~ .(gif|png|jpeg|jpg|svg)$ {
valid_referers none blocked ~.google. ~.bing. ~.yahoo. yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}
location ~ .(gif|png|jpeg|jpg|svg)$ { valid_referers none blocked ~.google. ~.bing. ~.yahoo. yourdomain.com *.yourdomain.com; if ($invalid_referer) { return 403; } }
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級別啟用盜鏈保護。

All In One WP Security And Firewall

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外掛-Prevent Content Theft

WordPress外掛-Prevent Content Theft

該外掛不僅禁用右鍵單擊您的影象,還禁用整個頁面,從而保護您的內容。我們在我們的開發站點上安裝並測試了它,您可以在下面看到使用者嘗試右鍵單擊影象時發生的情況的示例。他們會看到一個通知框,讓他們知道此功能已禁用。

在WordPress中禁用右鍵單擊

在WordPress中禁用右鍵單擊

重新命名檔案

如果您突然發現一個高流量站點或多個來源盜鏈到單個影象,您可以使用的一個簡單方法是簡單地重新命名檔案。更改您自己網站上的連結,讓熱連結者在他們的影象變成404錯誤時怒不可遏。雖然方便,但這種方法更像是一種快速修復,對於大規模盜鏈來說使用起來有點笨拙。

cPanel設定

如果您為您的域安裝cPanel或WHM,您可以使用內建的防盜鏈工具。檢視cPanel文件瞭解更多資訊,就像啟用設定一樣簡單。

如何提交DMCA刪除通知

另一個解決方案是,由於他們不擁有該影象並且未經您的許可而使用它,您可以隨時提交DMCA刪除通知。這可以是確保它被刪除的快速方法。你會驚訝於一封快速的“濫用”信會做什麼。許多網站所有者會立即處理這個問題,因為他們害怕法律訴訟。

小結

如果您是內容聚合者和狂熱的分享者,請確保玩得好並連結到網站,不要直接盜鏈影象。如果你真的是你所展示的東西的粉絲,你會更多地支援原作者!如果您是內容建立者,請確保保護自己免遭盜竊,盜鏈是一個不太難防止的領域。上述任何一種方法都將確保您節省金錢、時間和頻寬。

評論留言