posztok

kommentek
google keresőoptimalizálás
Zoli kísérleti erőlködéseinek laboratóriuma a keresőoptimalizálás és webfejlesztés fáradalmait boncolgatva

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!

Ha tetszett, amit itt olvastál egy link elhelyezésével segíthetsz a népszerűsítésében.
Egyszerűen másold ki az alábbi kódot, majd illeszd be weblapod forráskódjába.
Így fog kinézni: A robots.txt tartalma magánügy

This thing has 18 Comments

  1. Tibi
    Posted 2007 December 17 at 11:46 pm | Permalink

    Zoli , olyan rondán mutatott a 0 poszt ! 🙂
    Amugy a robots.txt tartalma hasznos !

  2. none
    Posted 2007 December 27 at 1:36 pm | Permalink

    Szia Zoli!

    A SEO fórumon említetted, hogy tovább fejleszted a robots.txt “védelmet”. Jutottál azóta valamire?

    Köszi!!!

  3. Posted 2007 December 27 at 2:14 pm | Permalink

    Karácsonyi kavalkád mellett elkezdtem építeni egy integrált védelmi rendszert. Szétnéztem spammervölgyben és körvonalazódott a google bowling egy két alága, amit szintén be szeretnék építeni a védelembe.
    Az egyik nagy problémám azon túlmenően, hogy a validált robotok referrerjét nem tudom logolni. A dolog mögött az a jelenség húzodik meg, hogy $_SERVER[“HTTP_REFERER”] értéke 0, csak az oldon belüli cikázás esetét ad értéket, így alternatív megolást kell keresnem, illetve a logolást újratesztelnem.

    Ha jól rémlik te a bad botok ellen szeretnél valami automata szkriptet. Félkész megoldásom van a problémára, de még nem automata. A tartalom lopó robotokat viszont az emberi beavatkozást igényló szkript arzenál automata moduljaként szeretném majd reprezentálni, de ha gondolod, miután azzal megvagyok publikálom.

    Hát itt tartok kábé:)

  4. none
    Posted 2007 December 27 at 7:42 pm | Permalink

    Természetesen nem sürgetni akartalak, csak érdeklődtem. Biztosan super lesz ez is. Ezekkel a dolgokkal elképesztő előnyökhöz lehet jutni a véleményem szerint. Ezek zseniális fejlesztések! Tényleg csak meghajolni tudok előtted!

    Van még egy ötletem, de az már nem ezzel kapcsolatos, és nem is éppen tisztességes, dehát ez van. Muszáj leleményesnek lenni. 🙂

    Minden esetre türelemmel várom a fejlesztés eredményét.

    Köszi!!

  5. G
    Posted 2008 January 15 at 1:59 pm | Permalink

    Hello!

    Az alábbi feltételnél nem sima strstr függvényt kéne használni?
    if(stristr($ua, ‘msnbot’) || stristr($ua, ‘googlebot’) || stristr($ua, ‘yahoo! slurp’))

    Ha jól tudom a robotok nagybetűt is használnak a user agent-ben, viszont az srtistr case sensitive.

    üdv.
    G

  6. Bagi Zoltán
    Posted 2008 January 15 at 3:47 pm | Permalink

    G!
    Köszönöm az észrevételt. Teljesen igazad van, a kódot egy percen belül javítom. Sajnos azonban a sima strstr valamiért nem képes a “Yahoo! Slurp”-öt felismerni, így ott marad a régi és a korrekt némi, hogy a case sensitivitás hiánya ne okozzon galibát.

  7. Attila
    Posted 2008 May 1 at 3:34 pm | Permalink

    Köszönet a kódért Zoltán. Mi történik például, ha egy álcázott google bot érkezik, ami a feketekalapos cloaking-ot hivatott leleplezni?

  8. Bagi Zoltán
    Posted 2008 May 3 at 10:53 am | Permalink

    Szia Attila!
    Ha az álcázott robot nem igazolhatóan googlebot, akkor ugyanabban lesz része, mint a kíváncsiskodóknak, azaz átirányítás a kezdőlapra.

  9. Attila
    Posted 2008 May 9 at 8:51 pm | Permalink

    Igen ezt értem. A kérdésem inkább az esetleges negatív következményekre vonatkozott.

    Gondolom az álcázott robotok átirányítása egy alkalomankénti robot.txt 404-re vezet, ami nem jár semmiféle büntetéssel.

    Mindenesetre a robot.txt elrejtése a sunyi linkcserélő stratégiák netovábbja, és lehetővé teszi az automatikus lincserét magán féltett pénzoldalon – vagy mittudomén hogy nevezik ezt a magyar SEO-k (biztosan tudod mire gondolok).

    Akárhogy is, köszi a kódot!

  10. Bagi Zoltán
    Posted 2008 May 10 at 8:41 am | Permalink

    Az álcázott robot.txt 301-es átirányításra vezet. Mivel a második bekezdésedben taglalt dolog nem az én ingem, így nem veszem magamra.

  11. Posted 2008 September 26 at 7:59 am | Permalink

    Köszi!

    Most fejlesztek egy web oldalt, és pont erre gondoltam én is.
    Hogyan lehetne a látogatók elől elrejteni az admin elérési útvonalát, amit nem szeretnék beindexeltetni a google-val.

    Köszönöm, mégegyszer.

  12. bagab
    Posted 2009 September 23 at 3:22 pm | Permalink

    Hogyan tehetem a magánügyemmé a sitemap.xml-t is? Van erre valami ötleted?

  13. Bagi Zoltán
    Posted 2009 September 23 at 5:31 pm | Permalink

    http://seo.forum.hu/seo-f5/sitemap-xml-elrejtese-t5899/post124912.html

  14. Nero
    Posted 2009 September 23 at 8:32 pm | Permalink

    Na igen , de hogy lehet azt kivedeni, hogy a keresok talalati listajaban ne szerepeljen…

  15. Bagi Zoltán
    Posted 2009 September 24 at 5:57 am | Permalink

    Azt csak úgy lehet, ha őket is kizárod, de mivel nekik engedni akarod a fájlok láthatóságát ez nem fog menni. Xml fájloknak más a struktúrája, mint a html oldalaknak, ahova meta tagokat írhatsz.

  16. ariel
    Posted 2009 October 24 at 8:24 am | Permalink

    Zoli, sikerült úgy leírnod, hogy én is megértettem.
    Kösz.

  17. Buzogány László
    Posted 2009 November 2 at 7:10 pm | Permalink

    Hát nekem ez azért veszélyesnek tűnik. Sose lehetsz biztos benne, hogy jóindulatú robotokat nem küldessz-e el ezzel.

  18. Bagi Zoltán
    Posted 2009 November 2 at 8:17 pm | Permalink

    Pedig nem veszélyes. Legrosszabb esetben kiosztasz pár 403-at a googlenek, de ezt jelzi a GWT. Én nem észleltem teszteléskor.

This thing has 2 Trackbacks

  1. Posted 2009 December 29 at 3:14 pm | Permalink

    […] poszttal korábban megismertettem egy módszert, amivel a robots.txt fájl-t az illetéktelenek elől elrejthetjük. Sajnos ezt most majd ki kell szerelni az oldalból, de azt gondolom […]

  2. Posted 2010 December 23 at 1:58 pm | Permalink

    […] azt is megoldottam, hogy avatatlan szem ne lássa a robots.txt tartalmát, hiszen a rosszindulatú […]