WordPress’de Hotlink Nasıl Engellenir

4 4.356

Emek vererek oluşturduğunuz içerik ve görsellerin çalınması moralinizi bozuyor mu? Birde bu da yetmezmiş gibi barındırma hizmeti aldığınız yerden sürekli olarak bant genişliği ile ilgili uyarı mı alıyorsunuz?. Bu durum size maddi olarak zarar verebilir. Lisans vererek aldığınız görsel ve içerikleriniz tanımadığınız kişiler tarafından kullanıldığını mı tespit ettiniz. Bugün hotlink’in ne olduğunu, neden bu kadar kötü olduğunu ve WordPress web sitenizdeki hotlink bağlantılarını nasıl engelleyebileceğinizi açıklayacağız.

Yazı İndeksi

Hotlink Nedir

Hotlink kavramı çok basittir. İnternet’te gezinirken bir resim bulursunuz ve resmin URL’sini doğrudan sitenizde kullanırsınız. Bu resim web sitenizde görüntülenir, ancak orijinal konumdan veri çekilir. Bu, hotlink yapan için çok avantajlıdır ancak hotlink edilen sitenin kaynaklarını kullandığı için aslında hırsızlıktır. Şöyle anlatmak gerekirse, kendi arabamızla geziyoruz tozuyoruz ama yakıtını başkasının arabasından kullanıyoruz. Biz gezip tozup eğlenirken yakıt masrafını hiç tanımadığımız birine yüklüyoruz kısacası hırsızlık yapıyoruz.

Aşağıda, hotlinking söz konusu olduğunda dikkat edilmesi gereken birkaç nokta vardır:

Orijinal Web Sitesi Sahibine Hotlink Maliyetleri

Görsellerinizden bir kaçını kendi web sitesine bağlayan biri, önemli görünmeyebilir, ancak sizin için bir sürü ekstra maliyet getirebilir. Günümüzde bir çok kişi sitelerinin daha hızlı açılması için CDN hizmeti kullanıyor. Bu hizmetin ücretsiz ve ücretli olan farklı paketleri var. Ancak ücretli bir CDN hizmeti kullanıyor iseniz kullandığınız kadar ödediğiniz için kendi trafiğinize ek olarak birde hotlink yapan kişinin trafiğine de ücret ödemeniz gerecektir.

CDN kullanmadığınızı var sayalım barındırma hizmet sağlayıcınızın verdiği limiti erken bitmesi sonucu siteniz kapanabilir. Bazı barındırma paketleri içerisinde limitsiz olarak söylenen ‘Aylık Bant Genişliği Aktarımı’ sadece adil kullanımla sınırlıdır. Bunu unutmayın hiç bir şey Limitsiz veya Sınırsız değildir.

Hotlink Yapmak Yasal Değildir

Birçok durumda hotlink aslında yasadışı. Neden mi? Web’de gördüğünüz fotoğrafların çoğunda lisans kısıtlamaları var. Popüler fotoğraf sitelerinden lisans alınmasına ilişkin birkaç ortak resim kısıtlaması:

  • “No commercial use is permitted under any circumstance.” – Hiç bir koşulda ticari kullanıma izin verilmez.
  • “Publication on a website or blog you own (in articles or news for illustrative purposes only).” – Kişisel blog ve sayfalarda kullanıma uygundur.

Bir çok kişi bu uyarıları dikkate almaz.  Özellikle ülkemizde bir çok kişi bulduğu görsellere yapımcı alt etiketi eklemez. Yada direk olarak bulduğu adresin konumu kullanır.

Sunucu Kaynaklarının Kötüye Kullanımı

Hotlink, hedef sunucu için kaynaklar üzerinde büyük bir tüketim oluşturabilir. Paylaşımlı bir WordPress barındırma hizmeti aldığınızı varsayalım. Sitenizin saatlik trafiği 200 iken birden bu oran 700’e ulaşabilir. Bu bile, barındırma hesabınızın askıya alınmasına neden olabilir. Kişiler web sitenize girmese bile kaynak olarak sizin sunucunuz üzerinden isteklerini yapacakları için bu istekleri sizin cevap vereceğinizi unutmayın.

Seo Açısından Hotlink’in Etkisi

Hotlink sitenizin SEO yapısına zarar vermez, ancak kurulumunun doğru olması gerekir. İndexleme yapabilmek ve bunları düzgün bir şekilde görüntülemek için resimlerinize erişmesi gereken Google, Bing, Yahoo vb. arama motorları olduğunu unutmayın. Örneğin, Google resim aramasında bir resim gördüğünüzde, küçük resim Google’ın resim önbelleğinden sunulur. Ancak orijinal sürümü (tıklarsanız) aslında sunucunuz üzerinden gösterimini yapar.

Hotlink Nasıl Önlenir

Görsellerinizi hotlink’e karşı korumanın birkaç kolay yolu var, sahip olduğumuz seçeneklere bir göz atalım.

CDN Üzerinde Hotlink Koruması

Çoğunuz web sitelerinizden dünyaya içerik sunuyor ve bunun sonucunda dosyalarınızın dağıtımını hızlandırmak için bir CDN sağlayıcısı kullanıyorsunuz. KeyCDN ve Cloudflare gibi CDN sağlayıcıları, zaten alt yapılarında hazır hotlink koruması servisi bulunuyor. Ancak bu koruma işlemini sizin düzenlemeniz gerekiyor. Sitenize gelen bot ve ziyaretçileri doğru tespit etmelisiniz. CDN üzerinden hotlink koruması sağlamamızın diğer bir avantajı , kurulu ve aktif olarak çalışan WordPress sitemizde herhangi bir şey değiştirmek zorunda kalmamanızdır.

KeyCDN kullanıyorsanız, Zonereferrers‘ı tıklamanız ve kuralları eklemeniz yeterlidir. Arama motorları ve botlar görsellerinize erişebilir ve dizinlerine ekleyebilir.

keycdn hotlink korumasi

Bu işlem, CDN üzerinde ki dosyalarınız için hotlink korumasını etkinleştirir, ancak orijinal sunucunuz için koruma sağlamaz. Dolayısıyla, doğrudan sunucunuz üzerinden hotlink yapan biri hakkında endişeleriniz varsa, sunucunuz üzerinden hotlink korumasını etkinleştirebilirsiniz (ayrıntılı olarak aşağıda verdiğimiz Apache ve NGINX kurallarına bakın).

Cloudflare kullanıyorsanız, hesabınızdaki Scrape Kalkanı altında hotlink korumasını kolayca ayarlayabilirsiniz. Cloudflare proxy servisi olduğundan, kendi sunucunuz üzerinden hotlink korumasını etkinleştirme işlemi yapmanıza gerek yoktur.

cloudflare hotlink korumasi

Amazon S3 kullanıyorsanız, hotlink korumasını, menü üzerinden “Permissions” bölümünde bulunan  bucket policies ile etkinleştirebilirsiniz.

amazon s3 hotlink korumasi

Aşağıdaki kodu kendi site adresinize göre ekleyin:

{
"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://siteadresiniz.com/*",
"http://www.siteadresiniz.com/*"
"https://google.com/*"
"https://bing.com/*"
"https://yahoo.com/*"
]
}
}
}
]
}

Apache’de Hotlink Korumasını Etkinleştirme

WordPress siteniz Apache’de çalışıyorsa, yapmanız gereken tek şey sitenizin kök dizinindeki .htaccess dosyasına kod eklemektir. Sitenizin kök dizininde .htaccess dosyanız yok ise bir tane oluşturup aşağıdaki kodları ekleyin:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?siteadresiniz.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)$ https://www.google.com/images/errors/robot.png [NC,R,L]

İkinci satır boş başvuru sahiplerine izin verir. Bazı ziyaretçiler, web tarayıcısı tarafından gönderilen sayfa yönlendirme bilgilerini silen kişisel bir güvenlik duvarı veya virüsten koruma programı kullandıklarından, büyük olasılıkla bunu etkinleştirmek isteyeceksiniz.

Üçüncü satırda, izin verilen yönlendiren, doğrudan resimle bağlantı kurulmasına izin verilen site tanımlanır; bu, web siteniz olmalıdır (etki alanınızla birlikte yukarıda belirtilen siteadresiniz.com’u güncelleyin). Dördüncü, beşinci ve altıncı satırlar, arama motorlarını izin verilen listeye ekler, çünkü Google bot veya Bing bot gibi tarayıcıları engellemek istemezsiniz. Görsellerinizin Google görsel aramasında gösterilmesini ve dizine eklenmesini engelleyebilir.

Ve yedinci satır, hotlink yapıldığında gösterileceği görseli belirler. Bu gerekli değildir, ancak onlara samimi bir uyarı verebilirsiniz. Birden çok siteye izin vermek istiyorsanız bu satırı çoğaltabilir ve yönlendirmesini değiştirebilirsiniz. Daha karmaşık kurallar üretmek isterseniz, bu site üzerinden farklı kurallar yaratabilirsiniz.

NGINX’te Hotlink Korumasını Etkinleştirme

NGINX üzerinde çalışıyorsanız, yapmanız gereken tek şey yapılandırma dosyanızı açıp aşağıdakileri eklemelisiniz:

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

WordPress Hotlink Koruma Eklentileri

WordPress eklenti kütüphanesinde hotlink koruması sağlaması açısından bazı eklentiler bulunuyor. Biz bir kaç eklentiyi geçici WordPress test sitemizde değerlendir, ancak istediğimiz sonuçları alamadık. Yinede kullanmak isterseniz size bunları da söylemeden geçmeyelim.

  • All In One WP Security & Firewall
  • Hotlink Protection
  • Hotlinks Manager

Kullanıp kullanmamak tamamen size bağlı. Bizce eklenti kullanmaktansa bu işi basit düzenlemelerle yapabilirsiniz.

Cpanel Hotlink Hotlink Koruması

Cpanel yada WHM kullanıyor iseniz yukarıda ki işlemlere ek olarak, yönetim paneliniz üzerinden hotlink korumasını devreye alabilirsiniz.

Yönetim panelinize giriş yaptıktan sonra Güvenlik tablosunun altından Hotlink korumasına tıklayın.

cpanel güvenlik tablosu

Açılan ekran üzerinden izin vermek istediğiniz siteleri ekleyebilirsiniz.

cpanel hotlink korumasi

Erişime izin verilecek URL’ler kısmını kendi web sitenize göre düzenledikten sonra, Gönder butonuna tıklamanız yeterlidir.

İçerik oluşturan biriyseniz, kendinizi hırsızlığa karşı koruyun, hotlink önlemek çok zor olmayan bir alandır. Yukarıda belirtilen yöntemlerden herhangi biri size para, zaman ve bant genişliği tasarrufu etmenizi sağlayacaktır. Bizim anlatacaklarımız şimdilik bu kadar. Aklınıza takılan tüm sorularınızı ve eklemek istediklerinizi bize yorum olarak paylaşmaktan çekinmeyin.

4 Yorum
  1. Attila Vatansever

    Hotlinking banada yapıldı ben cdn üzerinden direkt olarak dediğiniz gibi kapadım. Güvenlik ile ilgili daha çok yazı bekliyoruz sizden bu arada sözlük kısmınız çok güzel olmuş size mail de attım bir konu hakkında yardımcı olursanız çok sevinirim.

    1. WpGurme

      Attila, Yoast için istediğin rehberi gün içerisinde yazıp yayınlamaya çalışacağım iyi dileklerin ve övgülerin için ayrıca teşekkür ederim.

  2. Gencay

    Konu bu kadar güzel örneklenmiş ki anlamamak için engelli olmak lazım 🙂 Hotlink zararsız gibi görünse de Cdn ücretlerini felaket şekilde şişiriyor. Bizim başımıza geldiği için biliyoruz peki görsellerin çalınmasına karşı nasıl önlem alabiliriz? Şimdiden çok teşekkür ederim.

    1. WpGurme

      Gencay görsellerin çalınmaması için yapılabilecek pek fazla bir şey yok. Görsellerine watermark(filigran) koyabileceğin eklentiler ile site ismini yada logo’nu görsellerine ekleyebilirsin. Caydırıcı olabilir.

Cevap Gönder

E-posta adresiniz yorumunuzda yayınlanmayacaktır.

 

Sitemizi en iyi şekilde kullanabilmeniz için çerezler kullanılmaktadır. Sitemize giriş yaparak çerez kullanımını kabul etmiş sayılmaktasınız. Tamam Detaylı bilgi için tıklayınız.