wmzilla.com | Webmaster ve grafikerler paylaşım , ticaret platformu

Geri git   wmzilla.com | Webmaster ve grafikerler paylaşım , ticaret platformu > Webmaster kulübü > Web Güvenliği
GET sistemi
Hakkimizda Messenger indir GET Platinum Card Etkinlik Takvimi Forum Kurallari Konum Belirleme Lokasyon ve Destek Ofisi

GET Platinum Card

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
  #1  
Alt 18.10.2013, 01:57
mts - ait Kullanıcı Resmi (Avatar)
mts mts isimli Üye şimdilik offline konumundadır
 
Şubesi Bilinmiyor
Üyelik: 18.10.2013
Ticaret Sayısı: (0)
Ticaret Yüzdesi:(%)
Ad-Soyad:
Nereden:
Konular: 10
Mesaj Sayısı:13
Blog girişleri:
Standart .htaccess Dosyası ile Hotlink Koruması


dc.tc

Bu yazımın bilgi güvenliği kategorisine mi yoksa bir başka kategoriye mi girebileceği konusunda çok kararsız kaldım ama sonunda kanaat getirdim ki bu kategoride olmalı, ne de olsa bilgi güvenliği genel bir kavram ve server’inizda yüklü bir resmin vs. sizin sitenizin dışında herhangi bir yerde gösterilmesini istememeniz de bir güvenlik kuralı. Bunu yapmanın kaç çeşit yolu kaç farklı metodu var bilmiyorum ama en kesin olanı ve benimde kullandığım, bu konuda yardım isteyenlere önerdiğim bir yöntem var bu da server’imizin root dizininde bulunan .htaccess dosyası (yok ise o isimde bir dosya oluşturularak yapılabilir) ile bu dosyaya ekliyeceğimiz bir kaç satır komut. Htaccess doyasına yazılanlara komut diyorum, çünkü bir kodlamadan çok Server’a nasıl davranması gerektiğini anlatan kodlar mantığında çalışıyor. Bazen bazı sitelerde karşıma çıkıyor bundan kod olarak bahsetmişler, bu yüzden bunu açıklama gereği duydum. İlk olarak Hotlink koruması nedir ve neden ihtiyaç duyarız bundan bahsetmek istiyorum. Hotlink adından da anlaşılacağı üzere sıcak bağlantıdır ve bizim server’ımızda duran bir dosyayı link’ini yazarak başka bir sitede yayınlamak veya yine lokasyonu bizim server’ımız olan .rar uzantılı bir dosyayı bir başka siteden link vererek indirmenin adıdır.
Resim, müzik, döküman vs. tümü için geçerlidir. Bir dezavantajı daha ki çoğu insanın muzdarip olduğu konu da budur, eğer host’unuz Bandwith kotası koymuşsa ve biriside sizin sitenizdeki resimleri kendi sitesinde linklerini yazarak alıp gösteriyorsa, bu sizin bandwith limitinizi doldurur. Tabi ki bir kaç resim ile bu pek mümkün değil fakat sisteminizin bir resim dosyası için kaynak olarak çok fazla kişi tarafından kullanılması veya bir .rar uzantılı doyayı indirmek için sitenizin kaynak olarak kullanılması bandwith sınırınızı zorlamaya yardımcı olabilir. Diğer bir yandan site sahipleri şunu da diyebilir; “Eğer benim oluşturduğum bir ortam dosyasına erişecekse kullanıcılar bunu benim sitemden yapmalılar, ben kimse için dosya deposu görevi görmek istemiyorum.” da diyebilirler, haklılar. İşte bu noktada hotlink korumasının önemi ortaya çıkıyor, bunun için de kimine göre tek yol kimine göre en etkili yol olan .htaccess dosyasında yapılan düzenlemeler olarak görünüyor. Peki, şimdi gelelim dosyayı nasıl düzenleyeceğimize. Eğer Hostunuzun “Root” dizininde “.htaccess” isimli bir dosya yok ie bunu oluşturmanız gerekiyor. (Tabi hostunuz bu dosyayı çalıştırmanızı destekliyor olmalı, çünkü bir kaç türk hosting firmasında bunun olmadığını gördüm, fakat bir mail yada ticket yoluyla bu sorununuzu çözüyorlar) Eğer .htaccess dosyası mevcut ise root dizininde bir düzenleyicide (NotePad++ vs.) açın ve bir başka komut içerip içermediğine bakın örneğin ReWrite Rules kullanıyorsanız, en altına inin ve ordan devam edin, bu .htaccess dosyasında hiçbir sorun yaratmaz. Aşağıda bir komut satırı verdim, hazırlıyacağımız aslında tam olarak bu, yani .htaccess dosyanızda yazması gereken tam olarak böyle, devamında bunların ne olduğunu açıklıycam.

Kod:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?serkanulu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(subdomain1.)?serkanulu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(subdomain2.)?serkanulu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?serkanulu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(webcache.)?googleusercontent.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?googleusercontent.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com.tr [NC]
RewriteRule .(jpg|jpeg|png|gif|mp4|flv|mp3|mov|ogg|pdf)$ http://(YONLENDİRİLMESİNİ İSTEDİĞİNİZ DOMAİN)/guvenlik.png [NC,R,L]
Yukarıdaki komut listesinde gördğünüz ilk komut olan “RewriteEngine On” komutu, server’a RewriteEngine (yeniden yazım motoru) desteğini aktif etmesi gerektiğini söylüyor, bu sayede istediğiniz yönlendirmeleri yapabiliyorsunuz, örneğin bir sayfanın; siteadresi.com/konular.php şeklinde görünmesi yerine siteadresi.com/konular/ şeklinde görünmesi sağlanabiliyor. Daha sonra devamında bulunan komutlar, “HTTP_REFERER” şeklindeki parametreye bağlı, bu parametre ise yada değişken yapılan işlem sırasında o işlemi refere eden adres içeriği barındırıyor, yani siz bir link’e tıkladınız fakat o link’e serkanulu.com’dan mı tıkladınız yoksa falanfilan.com/abc/ gibi bir yerden mi onun bilgisini içeriyor. 4., 5., 6., 7., 8., 9., ve 10. satırda yer alan komutlar ise yalnızca izin verdiğimiz Referans adreslerini içeriyor, yani bu komutlar server’a şu mesajı gönderiyor, yalnızca bu yazdığım adresleri referans olarak kabul et diğerlerine hotlink koruması uygula. Bunu yapmamızın sebebi, tüm referansları bloklayan .htaccess komutlarımız bizim kendi sitemiz de dahil bir engelleme uygular, bu yüzden kendi site adreslerimizi ve “subdomain” yazan kısımlarada eğer varsa Alt alan adlarımızı eklemeliyiz, bir alt alan adımızı eklemediğimiz takdirde o alan adı engellediğimiz içeriğe ulaşamaz, dolayısı ile sayfa tasarımında yer alan .png veya .jpg uzantılı resimler dahi sayfa içerisinde görüntülenemez. 11. satırda yer alan komut ise, bizim hangi hangi dosya uzantılarını hotlink’ten koruduğumuzu ve o uzantıdaki bir dosyaya farklı referans adreslerinden erişilmek istendiğinde bizim onu hangi adrese yönlendirmemiz gerektiği bilgisini içeriyor. Hotlink koruması altına almak istediğimiz dosya uzantılarını “|” ayracı iler ayırarak istediğimiz kadar yazabiliriz. Önlerine nokta koymadan sadece uzantı ismini yazmamız yeterli olucaktır. “YONLENDİRİLMESİNİ İSTEDİĞİNİZ DOMAİN” yazan kısımda ise bandwith koruması adına bir hile yapılmaktadır aslıda, burada herhangi bir adresteki siteniz ieçrisindeki “/guvenlik.png” resmine link verilmiştir. Nedeni ise ücretsiz hostlardan alıcağınız bir alana Örneğin; google, hotlink bağlantısı yapıldığında görüntülenmesini istediğiniz bir resmi yükleyin, ve bu kısıma da o adresi yazın, hotlink korumasına aldığınız dosya uzantılarına sahip herhangi bir dosyanıza farklı bir adres üzerinden erişilmek istendiğinde o resimle karşılaşıcaklardır. Eğer sadece hotlink korumalı içeriğe erişlmesin istiyorsanız ve herhangi bir uyarı niteliğinde mesaj göstermek istemiyorsanız, yuakrıdaki komutlardan gerekli yeri silerek kullanabilirsiniz. Ben yukarıdaki komutlarda izin verilen adresler kısmına Google User Contents’i de yazdım çünkü google sitenizi önbelleklediğinde, yalnızca text içeriği alıyor, eğer bu adrese izin vermezseniz sitenizin önbelleklenmiş şekline baktığınızda resimlerinizin hiçbiri görünmeyecektir.

Kaynak


Alıntı ile Cevapla
Sponsored Links
Cevapla

Tag Ekle
hotlink koruması, htaccess


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil


Şu Anki Saat: 22:26

Forum Hakkımızda
Powered by vBulletin® Version 3 (Licensed by WMZILLA INC.)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

© 2014 wmzilla.com | WMZilla Bir Netra iştirakıdır.
09:00 - 20:00 Destek hattı : +31640337288
WMZilla lokasyon ve yazılım ofisi :
Loevesteinlaan 923 2533CC Den haag / Netherlands
WMZilla
DMCA.com Protection Status

Bir forum sitesi olan wmzilla.com üzerinde, forum kullanıcıları 5651 sayılı kanun'un ilgili maddesine ve T.C.K'nın 125. maddesine göre yaptıkları paylaşımlardan sorumludur, kullanıcı bazlı herhangi bir durumdan wmzilla.com sorumlu değildir. Tüm hukuksal bildirimlerde bulunmak için abuse@wmzilla.com adresi ile iletişime geçebilirsiniz bu çerçevede, wmzilla.com yönetimi tarafından en geç 7 iş günü içerisinde tarafınıza dönüş yapılacaktır.