Nginx’de Hotlink Koruması Nasıl Aktif Edilir ?

Nginx’de Hotlink Koruması Nasıl Aktif Edilir ?

Hepimiz internet sitelerimizi barındırmak ve yayınlamak için belli başlı özelliklere sahip hosting ya da sunucu kullanıyoruz. Kulllandığımız bu hosting veya sunucuların belli bir bant genişliği olabiliyor. Örneğin benim kişisel blog sayfamın aylık bant genişliği limiti 100 GB ve ben ortalama olarak aylık 25 GB’lık kısmını kullanıyorum ve o ay çok aktif içerik girmişsem eğer bu rakam 30-35 GB’a kadar çıkmakta.

Gel gelelim geçen ay bu oran oldukça yükseldi. Kişisel blog sayfama gelen kullanıcı sayısında anormal bir artış olmadığı gibi normal bir yükseliş vardı ancak bu aşırı bant genişliği kullanımı canımı sıktı ve biraz araştırmaya başladım. Öncelikli olarak kendi sunucumun log kayıtlarına baktım hangi dosyamın daha çok bant genişliği kullandığını öğrenmek için ve tespit ettiğim kadarı ile sitemde en çok kaynağı resimlerim tüketiyor.

Yaklaşık olarak 85 GB trafik kullanılmış geçen ay ve  bu resimlerin kullandığı bant genişliğini benim sitemin kullanıcıları tüketmiyor. Bazı “emek hırsızları” ya da “üşengeç” insanlar benim yazılarımda kullandığım görselleri alıp, direkt web sitelerinde kullanmışlar. Yani benim sunucumun bant genişliğini yemişler. Bu durum beni çok etkilemedi ancak bant genişliği kısıtlı olanlar için bu durum canınızı yakabilir ve hatta paylaşımlı hostingler kullanıyorsanız eğer hosting firmanız tarafından otomatik olarak suspended dediğimiz olayı yaşamanız muhtemeldir. Yani, sitenizin yayınlanmasını askıya alınmasına sebep olabilir.

Başka Sitelerin Sizin Bant Genişliğinizi Kullanması Nasıl Engellersiniz ?

Bazılarınız bant genişliği dediğimde olayı anlamamış olabilir. Trafik limiti ya da ingilizce adıyla bantwidth olan limitten bahsediyorum. Eminim bir hosting satın aldığınızda bu limiti görmüşsünüzdür. Sitenizin aylık olarak kullanabileceği internet trafik limitidir; bu tasvir daha doğru oldu.

Bant genişliğini halen anlamadıysanız eğer olayı şu şekilde anlatırsam daha iyi anlaşılacağından eminim. Bant genişliğini sizin internetinizin Adil Kullanım Noktası olarak düşünün ve bu nokta atıyorum 50 GB olsun ve bu 50 GB’ın sadece 5 GB’ını siz kendiniz kullandınız fakat sistemde 20 GB kullanıldığını gösteriyor. Sizin haberiniz olmadan ve sizden izinsiz bir şekilde 15 GB’lık veriyi başkası kullanmış. İşte internet siteleri içinde durum bundan ibaret. Sitelerin barındıkları sunucularda belli bir bant genişliği limiti vardır ve bu limiti korumak ve diğer internet sitelerinin sizin bu trafiğinizden çalmaması için HotLink adı verilen bir engelleme protokolü mevcut.

Hotlink Nedir ? Ne İşe Yarar ?

Hotlink, internet sitenizde ki resim,video ve müzik gibi dosyaların başka sitelerce sizin siteniz üzerinden yayınlamasına engel olmak için kullanılan bir koruma sistemidir ya da bir başka değiş ile engelleme protokolüdür.

Nginx’de Hotlink Koruması Nasıl Aktifleştirilir ?

Sitenizi nginx üzerinden yayınlıyorsanız ve aynı zamanda Hotlink korumasını da kullanarak sitenizin trafiğinden çalan siteleri engellemek istiyorsanız yapmanız gereken aşağıda ki adımları takip etmek.

1.Adım: Kullandığınız işletim sistemi hangi ise o işletim sisteminde nginx’in ayarlarının yapılandırıldığı nginx.conf dosyasını bulunuz.

2.Adım: nginx.conf dosyasını bulduysanız eğer bu dosyayı bir kod editörü yardımıyla açınız. (Bkz: Web Geliştiricileri İçin Kod Editörü: Microsoft Visual Studio Code )

3.Adım: Nginx’in ayar dosyasında  location /  satırını bulun ve aşağıda ki kodlar ile değiştirin.

Bu kodlarda en son satırda yazan siteadresiniz.com satırı yerine kendi hotlink resminizin adresini ekleyiniz. Benim kendi hotlink korumam için kullandığım resim adresi budur: https://huseyinkorbalta.com/hk-hotlink.png

valid_referers none blocked satırında yer alan google,yandex gibi yerler bu hotlink korumasından muaf tutulacak siteleri belirtir. Eğer kendinize ait başka bir site var ve her iki sitede aynı görselleri, dosyaları kullanıyorsanız eğer bu satıra o sitenin adresinide yazmanız gerekir.

4.Adım: Gerekli ayarlamaları yaptıktan sonra nginx’i yeniden başlatarak Hotlink korumasının aktif olmasını sağlayın. Nginx’i yeniden başlatmak için SSH konsol ekranından kullandığınız linux işletim sisteminin komutunu girebilirsiniz. Genelikle Centos kullanıldığını düşünerek centos için şu kodu kullanabilirsiniz;  service nginx restart

Hotlink’in devreye girmesi biraz zaman alacaktır, daha sonra sitenizden sizin haberiniz olmadan resim,müzik,video vb dosyalarınızı kullanan siteler belirttiğiniz hotlink görselini görecekler ve böylelikle sunucunuzun trafik genişliğinden yememiş olacak ve o görseli kullanabilmek için kendi sunucularına yüklemek zorunda kalacaklar.

Canlı hotlink koruması örneğini görmek istiyorsanız buraya bakabilirsiniz: http://www.turkhackteam.org/diger-forum-scriptleri/1523656-mybb-tema-yukleme-leopic.html

Arkadaş bana ait olan bir resmi kullanmış ve oldukça fazla trafik yediği için hotlink korumasına yakalandı ve kullandığı görsel yerine benim belirttiğim hotlink koruma resmini gördü ve böylelikle o sitede yer alan kullanıcılar görselin (ç)alıntı olduğunu öğrenmiş oldular.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir