Türkiye'nin en büyük bilgi, eğitim ve sosyal içerikli paylaşım sitesi "Bilgi Hanesi"

Htaccess ile Resimlerin Çalınmasını Engelleme | Hotlink Koruması

0 12

htaccess-resim-erisim-korumaWebsite sahibi iseniz ve sitenizin kaynakları sınırlı ise paylaşımlarınızın özellikle sitenizdeki resimlerin başka siteler tarafından kullanılması kaynak kullanımınızı artırmakla birlikte özellikle bandlimit ve cpu kullanımızın artması ve buna bağlı olarak sitenizin de yavaşlamasına neden olur. Apachi linux sunucularda .htaccess dosyası ile hotlink koruması yaparak resimlerinizin siteniz dışında kullanımını engelleyebilirsiniz.

Aşağıda bunu nasıl gerçekleştirebileceğinizi detaylı olarak anlattık. Eğer sizde resimlerinizin başka siteler tarafından rahatsızlık duyuyorsanız aşağıda yer alan anlatımı uygulayarak bu durumun önüne geçebilirsiniz..

.htaccess’te yer alan RewriteRule (Yeniden Yazım Kuralı) Ne demektir?

RewriteRule ifadesi

Bu ifade ile bulunan koşuldan sonra URL’nin nasıl yazdırılacağı belirtilir:

.htaccess ile bir kuralın değiştirilmesi için mutlaka şu ifade ile başlaması gerekir,

RewriteEngine On

Diğer bilinmesi gereken ifadeler ise aşağıda anlatılmıştır.

[R] (yönlendirmeye zorla)
Harici bir adrese yönlendir.

[F] (İzin verilmeyen)
Bu sayfaya giriş izni olmadığını belirten bir sayfaya yönlendirir.

[L] (son kural)
Bu ifadenin en son ifade olduğunu belirtir, bu noktadan sonraki hiçbir kural çalışmaz.

Örneklerle hepsini bir araya toplayalım:

Resim dosyalarınızın site dışından çağırılmasını engellemek

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !^http://alanadiniz.com [NC]
RewriteCond %{HTTP_REFERER} !^http://www.alanadini.com [NC]
RewriteCond %{HTTP_REFERER} !^http://server-ip-niz [NC]
RewriteRule ^.*$ http://www.alanadiniz.com/hotlink.jpg [R,L]

Türkçesi: Alan adınızın alanadiniz.com olduğunu ve bu alan adının sunulduğu IP adresinin 192.168.1.10 olduğunu varsayarak
1- Rewrite motorunu aç
2- HTTP_REFERER bilgisi varsa ve
3- HTTP_REFERER alanadiniz.com değilse veya
4- HTTP_REFERER www.alanadiniz.com değilse veya
5- HTTP_REFERER IP adresiniz değilse
6- http://www.alanadiniz.com/hotlink.jpg resmine yönlendir.

Eğer daha kapsamlı bir koruma oluşturmak isterseniz aşağıda ki kodu; gerekli düzenlemeri yaparak .htaccess dosyanızın en üstüne yapıştırabilirsiniz..

# BEGIN Hotlink Koruması

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/hotlink
# Hotlink resimlerinin olduğu dizini korumasız yapmalıyız ki, sonsuz dönüye girmeyelim.
RewriteRule ^.*$ - [L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?siteadiniz\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?facebook\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(.+\.)?facebook\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com\.tr [NC]
# Yukarıdaki sitelerden biri referans olarak gelirse engelleme mekanizması çalışmaz. Kendi sitemizi
# bu alana eklemek ÖNEMLİDİR! Yoksa kendi sitemize de hırsız muamelesi uygularız.
# Facebook ve Google tarzı sitelerde de ön izlemelerin çalışması için yine mekanizmayı çalıştırmamak iyidir.

RewriteRule .*\.(jpg|jpeg|gif|png|bmp|JPG|JPEG|GIF|PNG|BMP)$ http://www.siteadiniz.com/hotlink/hotlink.$1 [L]
# Her formatı ayrı ayrı ele almak gerekir. Hırsız PNG istediğinde siz JPG biçimi gönderirseniz her tarayıcı bunu doğru yorumlayamaz.
</IfModule>

# END Hotlink Koruması

Cevap bırakın

E-posta hesabınız yayımlanmayacak.