Jó pár órányi munkát követően összeállt egy újabb védelmi rendszer, amely lehetővé teszi a robots.txt fájl elrejtését a kiváncsiskodók elől és csak az fogja látja akinek az dedikálva lett.
Kár, hogy nem látom az arcod. Ha egymással szemben ülnénk lehet megkérdeznéd, hogy az egésznek mi értelme van?
A válaszom a következő: a robotok korlátozása csak rám és a rájuk tartozik. Úgy gondolom, hogy a benne rejlő tartalom ismerete harmadik fél által veszélyeztetheti a szkriptem épségét.
Hogyan kezdjünk bele? Akkor talán legjobb, ha vezetlek..
1. Első lépésként nyisd meg a .htaccess fájlodat, (ha nincsen, akkor készíts egyet) és tedd bele az alábbi kódot:
A domainedet ne felejetsd el behelyettesíteni!
RewriteEngine On
RewriteCond %{http_user_agent} !(googlebot|Msnbot|Slurp) [NC]
RewriteRule ^robots\.txt$ http://seo.i-connector.com/ [R,NE,L]
AddHandler application/x-httpd-php .txt
Az első sort nem magyarázom. A második és a negyedik sor lehetővé teszik, hogy ha a user agent string részleteiben nem tartalmazza a googlebot, msnbot, vagy slurp szavakat, a látogató a kódban specifikált fődomainen fog landolni, persze csak akkor, ha a robots.txt-mre volt kíváncsi. Népszerű gyakorlat, hogy egyedi 404-es hibaoldal helyett a nem található tartalom URL-jét a domainre irányítják, így hát ez nem fog gyanút kelteni senkiben. Úgy fog tűnni, hogy egyszerűen nincs robots.txt fájl a szerveren, pedig van.. Ja igen, a negyedik sor pedig php szerű viselkedést fog intézni a txt kiterjesztésű fájloknak.
2. Nyiss egy jegyzettömböt, vagy a kedvenc webszerkeztő programodban egy új lapot és illeszd be az alábbi kódot.
<?php
$ua = $_SERVER[‘HTTP_USER_AGENT’];
if(strstr($ua, ‘msnbot’) || stristr($ua, ‘Googlebot’) || stristr($ua, ‘Yahoo! Slurp’)){
$ip = $_SERVER[‘REMOTE_ADDR’];
$hostname = gethostbyaddr($ip);
if(!preg_match(“/\.googlebot\.com$/”, $hostname) &&!preg_match(“/search\.live\.com$/”, $hostname) &&!preg_match(“/crawl\.yahoo\.net$/”, $hostname)) {
$block = TRUE;
$URL=”/”;
header (“Location: $URL”);
exit;
} else {
$real_ip = gethostbyname($hostname);
if($ip!= $real_ip){
$block = TRUE;
$URL=”/”;
header (“Location: $URL”);
exit;
} else {
$block = FALSE;
}
}
}
?>
Ments el reversedns.php néven és töltsd fel a szervered gyökérkönyvtárába.
A szkript maga ismerős lehet neked, mivel a reversedns.php picit átalakított verzójáról van szó. A módosításnak megfelelően, ha a robot validálás során egy látogató megbukik akkor a fődomainen fog landolni pillanatokon belül. Ha a robot nem a három nagy bot egyike, akkor esélye sincs átjutni. Hiába állítod át a user agentedet botnak álcázva a kezdőlapon fogsz landolni a php által vezérelve, így aztán teljesen elhárítottam minden, a cloackingot leleplezni vágyó kísérletet.
Úgy gondolom, hogy mivel a google nem véd meg semmitől, így aztán az ilyen típusú önvédelem azért nem köszön a klasszikus black hat technikának…
3. Nyisd meg a védendő robots.txt fájlodat és illesz be az alábbi kódot a legelejére
<?php include(“reversedns.php”); ?>
A hack kész a védelem felállt!
További kellemes napot!