Sitemdeki resimleri başka sitelerin tarafından kullanmasının önlenmesi
İnternette sıklıkla yapılan işlerden biri kendi sunucusunu yormamak için içeriği, resimleri ve dosyaları başka siteler üzerinden sunmaktır. Bu işleme İngilizce'de hot linking denilmektedir. Türkçe'ye sıcak bağlantı kullanımı olarak çevirebiliriz.
Resimler üzerinden anlatmak gerekirse, diyelim ki sitenizde çok beğenilen resimler mevcut. Bu resimlerden birisi (Ör: http://www.beycan.net/files/beycan-net-logo.png) olsun. Normal şartlarda, başka bir domain üzerinden bu resmin kullanımını düzenleyen herhangi bir kısıtlama söz konusu değildir. Herhangi bir forum ya da içerik sağlayısı başka bir site kendi sunucu kaynaklarını yormadan resimleri direk sizin sisteminizin üzerinden gösterebilir.
Bu durumda, sitenizin trafiği artmazken sitenizin trafik kullanımı yoğunlaşabilir. Bu da size ek bir maliyet getirecektir. Başkaları kendi sitelerinin reklam gelirlerini sizin sunucunuzdan faydalanarak arttırırken, size nal toplamak düşecektir.
Bunu önlemek için Apache sunucunuzdaki .htaccess konfigurasyon dosyasına aşağıdaki kodu yazabilirsiniz:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.domain.com/kizgin-adam.jpg [R,L]
Benzer bir işlemi nginx sunucusunda sağlamak için /etc/nginx/sites-available klasörünün içinde yer alan konfigürsayon dosyasına aşağıdakileri eklemeniz yeterli olacaktır.
location ~* \.(gif|jpe?g|png)$ {
valid_referers blocked domain.com www.domain.com;
if ($invalid_referer) {
return 405;
}
}
Not: Bu işlemler sonucunda google gibi arama motorlarının da sitenizdeki dosyalara ulaşamama sorunları oluşabilir.