Hüseyin MERT

Sadece teknoloji değil…

Ref Saldırısını Baştan Engellemek

tweetle Bunu Web 02 Şubat 2009

Emekler vererek bir site/blog açtınız ve çok güzel bir şekilde trafik ve arama motorlarının teveccühünü de kazandınız. Google aramalarında da önlerdesiniz hatta 1 numarasınız. Birden bir de öğreniyorsunuz ki websitelerine ref denen saldırılar ile sitenizi arama motorunun çöplüğüne (sandbox) götürüyor.

Nasıl Farkederim?

Bunun nasıl farkına varıyorsunuz peki? Hemen “site:siteadresiniz.com ref” şeklinde google araması yapıyorsunuz. Sonuçlar kendi sitenizin adresi ile başlayıp ?ref=sapmcisiste.com gibi bitiyorsa size de referer spamcıları bulaşmış demektir. Sonuçlar cidden canınızı sıkabilir.

Tabiki çok canınız sıkıldı ne yaparım demeye başladınız, bu kadar emek böyle insanlar(!) yüzünden boşa mı gitsin dediniz. Demekte haklısınız. Bu insanlar bu yaptıklarından dolayı ilk başlarda çok az da olsa fayda görüyorlar. Fakat daha sonra öyle bir cezalandırılıyorlarki felekleri şaşıyor. Ama sizden de birşeyler gidiyor bu arada.

Nasıl kurtulunur?

Bu tür spam yapanlar için genelde yapılacaklar aynen insan sağlığındaki gibi bulaşmadan önce yapılması gereken aşıdır. Biz de sitemizi bu saldırganlara karşı aşılayacağız.

1. robots.txt ile

Burda diyoruz ki arama motoruna, “aşağıdaki durumlarda o siteye izin vermiyorum, onu benimle birlikte gösterme.”
[sourcecode language='bash']
User-agent: *
Disallow: /*ref=*
Disallow: /*?ref=
[/sourcecode]
Detaylı bilgi: Robots.txt nedir?

2. .htaccess ile

Htaccess bir apache yorumlatıcısıdır. Şu gelirse şöyle yapacaksın der.htaccess apache sunucularını kullandığından, windows sunucularda çalışmaz.
[sourcecode language='bash']RewriteCond %{THE_REQUEST} \?(ref=.*)?\ HTTP [NC]
RewriteRule .? http://www.siteadı.com%{REQUEST_URI}? [R=301,L]
[/sourcecode]
Üstteki kod ile şunu diyoruz sunucuya “eğer ?ref= diye bir istek gelirse bu isteği anında kendi siteme yönlendir”.
[sourcecode language='bash']RewriteCond %{HTTP_REFERER} sex [OR]
RewriteCond %{HTTP_REFERER} porno
RewriteRule .* – [F,L]
[/sourcecode]
Bir diğer yöntem ise anahtar kelime bazlı olarak eğer referer edilirse siteyi ulaşılmaz ediyor. Üstteki listeyi istediğiniz gibi çoğaltabilirsiniz. Bu üstteki kod ise “anahtar kelimler bunlarsa engelle” diyorsunuz.
Fakat süper uzun bir kelime listesi var. Sitenizin performansını düşürür ama ref saldırılarından gerçekten bıktıysanız işinizi görecektir.

3. header.php’ye kod ekleyerek

Eğer windows sonucularda iseniz yani .htaccess kullanamıyosanız bu yöntemi kullanabilirsiniz. tüm refleri kendi sitenize yönlendiriyor. Aşağıdaki kodu header.php dosyanızın en üstündeki kısma eklemelisiniz.
[sourcecode language='php'] if (eregi('ref=', $_SERVER['REQUEST_URI'])) {
header( "HTTP/1.1 301 Moved Permanently" );
header("Location: http://www.sitenizinadresi.com/ ");
}
?>[/sourcecode]

Sonuç

Bu yaptıklarımız saadece basit çözümler, eğer ticari bir site yapıyorsanız sandboxa düştüğünüzde ticari olarak zarara uğrayacağınızı biliyorsunuzdur. Dava açılmanızı tavsiye ederiz. Fakat bu tür siteleri yapanlar genellikle kimliklerini gizleyen ve yüzlerce benzer sitesi olan kişilerdir, çok çetin bir mücadele sizi bekliyor yani.

Bu siteler genellikle spamdan dolayı birçok kez google tarafından cezalandırılır. Ama bir adres cezalandırılırsa bir diğer adresten aynı içeriği devam ettiriyorlar. Ve her seferinde yeni bir yöntem ile sizin karşınıza çıkıyorlar.

Saldırgan sitenin içeriğine göre bu siteleri ihbarweb.org.tr adresinden şikayet etmek de başka güzel bir çözüm.

Yazar: Hüseyin Mert

Etiketler: , , ,

Yazının QR Code'u

  1. ySn

    Bu ref saldırıları için sayısı çok fazla olmadıkça pek sorun olmuyor diyorlar.Bu konu hakkında bende yazı yazmıştım bir ara.

    Bu arada internet kafeden nete giriyorum.Şu an İE6 var ve yukarıya koyduğun uyarı kısmı beni güldürdü. :D

    Yukarıdaki uyarı İE6 kullanıyorsanız görebilirsiniz. :D

    02 Şubat, 15:02

  2. Ne kadar teşekkür etsem azdır :) Bana da bulaşmış biraz ucundan. 5-10 tane kalıcı bağlantıma. Sanırım htaccess ile 301 yönlendirme methodu gayet iyi. Tekrar teşekkürler :)

    02 Şubat, 16:02

  3. ben konuya tam vakıf olamadım,biri beni aydınlatsın :)

    03 Şubat, 21:02

  4. Teşekkürler açıklamalı yazman çok güzel olmuş.

    04 Şubat, 11:02

  5. Ben de denedim ama birşey çıkmadı. her ne kadar çok açıklayıcı yazılmışsada yine bir nebze olsun program işinden anlıyanlar işçin. benim cehaletimle anlamak zor. elinize sağlık.

    04 Şubat, 13:02

  6. Selam, (header.php dosyasına yerleştirilecek kod) header’ın en üstüne demişsin tag’inin üstüne mi demek istemiştin :) Yoksa tag’inin en üstüne mi? Ben tag’inin bir üstüne ekledimde. Aydınlatırsan çok sevinirim.

    05 Şubat, 08:02

  7. Tag’leri almıyormuş bu yorum formu haha :D Ben de tag yazıcam diye uğraşıyorum :pP O zaman şöyle söyleyeyim. Head etiketinin bitiminin bir üstüne mi ekleyelim, yoksa body etiketinin hemen altına mı?

    05 Şubat, 08:02

  8. header.php dosyasını açtığınızda ekranınıza gelen kod yığınının en başına yani:

    < ?php
    if (eregi(’ref=’, $_SERVER['REQUEST_URI'])) {
    header( “HTTP/1.1 301 Moved Permanently” );
    header(”Location: http://www.sitenizinadresi.com/ “);
    }
    ?>
    < ?php
    // header.php içeriği
    ?>
    

    05 Şubat, 10:02

  9. Tamam tekrar teşekkürler :)

    05 Şubat, 10:02

  10. Bu metotlardan en etkilisi hangisi, ya da herhangi biri tek başına yeterli mi ? Mesela robots.txt metodunu yapsak diğerlerine gerek kalıyormu ?

    06 Şubat, 15:02

  11. Robots.txt ile arama botlarının kabul ettiği bir protokol, ve bu yöntem en hızlı sonucu veriyor. Fakat diğer yöntemler ref saldırısını yaptığı anda püskürtüyor yani daha indexlenmeden engellemiş oluyorsunuz.

    06 Şubat, 15:02

  12. Anlatımınız için teşekkürler. Ben farklı bir noktayı sormak istiyorum. Malum herkes kendi hostundan yayın yapmıyor. Blogger gibi bir servis kullanıyorsak -ki ben kullanıyorum- robots.txt dosyasına da, htaccess. dosyasına da, header.php dosyasına da erişimimiz yok. Böyle bir durumda neler yapılabilir alternatif olarak? Bir fikriniz var mı bu konuda?

    06 Şubat, 16:02

  13. Bloggerlar için şuanda benim aklıma gelen veya bulabildiğim bir çözüm yok, zira google bile bu konudan muzdarip veya takmıyor: “site:http://adsense-tr.blogspot.com/ ref” veya “site:http://adsense.blogspot.com/ ref”
    ayrıca Blogger sitelerinin %75′i spammış http://www.seroundtable.com/archives/012778.html

    06 Şubat, 17:02

  14. Ellerin dert görmesin hacı.

    08 Şubat, 23:02

  15. selam kolay gelsin ?ref= konusu

    Bendeki sorun 06 Şubat, da domainin sonuna eklenmiş bu ref başka yöne gidiyor. bu domaine bahlı olan index açılmıyor. yanı tanımıyor. index bende html normal asp php degildir bu konuda bir şeyler varsa bu domaini kurtaralım yardımınızı bekliyorum
    çok sagolasınız elleriniz dert görmesin dilegiyle

    10 Şubat, 08:02

  16. Yukarıdaki makalemde tam olarak size çare olacak 3 yöntem mevcuttur. Onları uygularsanız Tüm sıkıntılarınız büyük ölçüde hallolur.

    10 Şubat, 09:02

  17. Bunu blogcu forumda da dile getirmiştik. Bende çaresi var diye uygulamıştım ama hala refler urlime takılmış google’lın uçsuz bucaksız yığınında geziyorlar. kurtulamadım yani

    10 Şubat, 15:02

  18. ASİL

    SAYIN HÜSEYİN BEY BU SALDIRILARI YAPANI TESPİT ETTİM Selam bütün site sahıpleri bu ?ref saldırısını yapan facebook.com sitesidir kim facebook sitesinde “kendi sitesinin link’i REKLAM” verdigi zaman bulaşıyor . asıl bu siteyi googleye şikayet etmek gerek

    12 Şubat, 02:02

  19. Cem

    Hocam ayrıntılı anlatım için teşekkür ederim. Elinize sağlık.

    14 Mart, 01:03

“Ref Saldırısını Baştan Engellemek” için yorumunuz

Kebikec Böceği var sitede. Yorumlar için Besleme Yorumlar için Besleme(RSS)