Ref Saldırını Baştan Engellemek
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.”
User-agent: *
Disallow: /*ref=*
Disallow: /*?ref=
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.
RewriteCond %{THE_REQUEST} \?(ref=.*)?\ HTTP [NC]
RewriteRule .? http://www.siteadı.com%{REQUEST_URI}? [R=301,L]
Üstteki kod ile şunu diyoruz sunucuya “eğer ?ref= diye bir istek gelirse bu isteği anında kendi siteme yönlendir”.
RewriteCond %{HTTP_REFERER} sex [OR]
RewriteCond %{HTTP_REFERER} porno
RewriteRule .* – [F,L]
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.
if (eregi(’ref=’, $_SERVER[‘REQUEST_URI’])) {
header( “HTTP/1.1 301 Moved Permanently” );
header(”Location: http://www.sitenizinadresi.com/ “);
}
?>
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.
Kaynak : http://www.hmert.com/2009/02/02/ref-saldirini-bastan-engellemek/comment-page-1/#comment-490
Åubat 6th, 2009