Sitenizdeki resimlerinize Hotlink koruması

____________________________________________________________________

Sitenize yüklediğiniz resim dosyaları “Hotlinking” denen bir yöntemle başka sitelerden doğrudan bağlantı verilerek kullanılabilirler. Bunu yapmak teknik olarak çok kolaydır, sadece aşağıdaki ne benzer bir kodu hazırlayıp HTML kodları içine gömmek yeterli:

<img src=”http://siteadresi.com/resim.jpg” height=”500″ width=”200″>

Bu yöntem ile farklı bir sitedeki bir resmi kendi sayfalarınızda gösterebilirsiniz. Bu şekilde de resim dosyasının sitenize yaratacağı bant genişliğinden tasarruf etmiş olursunuz.

Bu yöntem bant genişliği cimrisi kişiler tarafından sıkça kullanılmaktadır. Hatta çoğu için bunun bir zararı da yoktur veya yanlış olduğunu bilmezler. Bu sebeple onlara bu yöntemi kullanmamalarını söylemek yerine sitenizdeki resimlerin “hotlink” yöntemi ile kullanılmasını engellemek daha iyidir.

Bu yöntemi engellemek için Apache sunucularda .htaccess dosyasına birkaç kod yazmamız gerekli, ya da Cpanel ile de bunu kısa yoldan yapabiliriz.

.htaccess dosyamıza eklenmesi gereken kod şuna benzeyecek (f-blog.info kısımlarınızı kendi site adresiniz ile değiştirin, ve son satırdaki dosya yolunu kendi sitenizdeki bir resim yolu ile değiştirin, tabi reklamımı yapmak istemiyorsanız):

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.f-blog.info/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.f-blog.info$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.f-blog.info/wp-content/themes/merahputih/images/header.png [R,NC]

Burada ilk satır o dosyanın tarayıcıda doğrudan adres yazılarak girildiğinde açılmasını sağlayacak. Eğer o satır olmazsa o resmin adresi gezgine doğrudan girilerek açılmak istendiğinde açılmaz, farklı şeyler olur.

Sonraki iki satır da hotlink koşullarımızı belirliyor, eğer dosyanın istendiği adres oraya yazılan adres değilse yani farklı bir site ise, son satırdaki RewriteRule ile başlayan kısımda belirtilen dosya istenen dosya yerine gönderilir. Bu satırda parantez içindeki kodlar”(jpg|jpeg|gif|png|bmp)” hotlink korumasını hangi dosya uzantıları için etkinleştirmek istediğimizi belirler. Bu kısma istediğimiz uzantıyı ekleyebiliriz. Eğer alt satırda bir dosya yolu belirlemeyip şöyle birşey yaparsak, “RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ – [F,NC]“,  dosya diğer sitelerden açılmaz.

Apache sunucularda Cpanel varsa bunu yapmak daha da kolaydır. Cpanel ana sayfasında “HotLink Protection” bağlantısına tıklayın, açılan sayfada da gerekli ayarları yapacaksınız. “URLs to allow access::” kısmına engellemek istediğiniz adresi yazın ve “Enable” butonuna tıklayın. Dosya türlerini ayarlamak için “Block direct access for these extensions” kısmına engellemek istediğiniz dosya uzantılarını yazın. Eğer gezgin uygulamadan resim adresi doğrudan girildiğinde erişime izin vermek istiyorsanız “Allow direct requests” kutusunu işaretleyin. Ayrıca resim dosyasının yerine başka bir dosya gösterilmesini istiyorsanız da “Redirect request to this URL:” kısmına sitenizdeki bir resmin yolunu girin. Eğer resim yolu girilmezse yönlendirme yapılmayacak ve başka bir siteden istenen resim dosyası açılmayacak. En sonunda da “Submit” butonuna tıklayın ve ayarlarınızı kaydedin.

Not: Cpanel yöntemi .htaccess dosyasında WordPress’in oluşturduğu kısmı değiştirebileceği için bundan sonra kalıcı bağlantılarda %postname% yapısı hata verebilir, bunu tekrar yönetim paneline gidip Kalıcı Bağlantılar kısmında “Ayarları Kaydet” butonuna tıklayarak düzeltebiliriz. Düzelmezse diye tabi önceden dosyanın yedeğini almakta fayda var.

Hotlink çok kötü birşey olmasına rağmen çoğu site sahibi bant genişliği tasarrufu yapmak için bu yöntemi kullanmaktadır. Bu yöntemin en ciddi tehlikelerinden biri İngilizce’de “switcheroo” denen yöntemdir, yönteme tam Türkçe bir karşılık bulamadım. Sizin resim dosyasını kullandığınız sitenin o resim dosyasını başka bir dosya ile değiştirmeyeceğini kimse garanti edemez değilmi. 🙂 Bu yöntemin mantığı da bu. Yukarıdaki yöntemle sitenizden alınmak istenen resim dosyaları yerine sizin seçtiğiniz bir görüntü gösterilir. Bunun pronografik içerikli bir görüntü olduğunu düşünün. Hele konu da alakasız bir konu ise, örneğin eğitimle ilgili çocukların girdiği bir sitede böyle bir görüntü açılırsa, neler olur bir düşünsenize.

Ayrıca eğer dosyaya bağlantı verilirken boyutları düzgün ayarlanmamış bir kod resim farklı boyutlardaki bir resim ile değiştirildiğinde sitenin görünümünün bozulmasına da sebep olabilir. Normalde bunu düzeltebilirsiniz ama beklenmedik bir anda olduğunu problemler çıkabilir.

Not: Yukarıdaki bu yöntem .htaccess desteği bulunan Apache sunucuları içindir, Windows IIS ile kullanılamaz. Windows IIS (Internet Information Services) için LeechBlocker eklentisini yükleyebilirsiniz.

2 Yorum

  • Yazan: Oğulcan, 27 Nisan 2009 @ 12:28 am

    Teşekkürler Ferhad. Ama bende çalışmadı.

  • Yazan: FeRHaD, 27 Nisan 2009 @ 1:25 am

    Çalışmadı mı? Şu JS ve CSS için yaptığın şey gibi birşey yapacaksın işte. 🙂

Bu yazıya bağlantılar

Bu yazıdaki yorumlar için RSS beslemesi. Geri izleme URI

Yorum yaz