Category Archives: cloaking

Vétlen cloaking

Mi ez? 1. fejezet
Némi imeretterjesztésbe fogok az elkövetkezendő percekben. Sejtésem szerint sokan hallottátok már a cloaking szót és van is fogalmatok is arról, hogy mit jelent.

Mi ez? 2. fejezet
Matt Cutts házi videójában hogy programozási megoldásként definiálja, amelynek eredményeképpen a googlebot más tartalommal szembesül, mint a humán böngésző. A roadmoviban foglalkozott a IP cím alapú tartalomszolgáltatás dilemájjával is. Ez nem számít manipulációnak, hiszen a googlebot ugyanazt fogja kapni, mint, amit IP címe alapján megérdemel.

Manipulálunk?
Szuper, hogy ilyen hamar eljutottam a manipuláció szóhoz, mert ez kulcsfontosságú a vétlenség megállapításra. Etikailag akkor cloaking a cloaking, ha azzal a találati lista manipulálása a cél. Ez szigorúan saját véleményem és ez indukálta jelen poszt megírását, hiszen a Google mérnökei nem feltétlenül vannak ezen a véleményen, és sok esetben a jószándékú honlaptulajdonosok is áldozatul eshetnek elég komoly büntetéssel súlytva oldalukat.

Techikailag mi a cloaking?
Két foráját ismerem, de a vétlen cloacking alapja általában a javascript átirányítás, például

<script type=”text/javascript”>
window.location = “http://seo.i-connector.com/itt-van-az-amit-a-látogatónak-szánok/”
</script>

Egy szerveren lévő könyvtárban az index.htlm az indítási szekvenciában beelőzi php rokonát, így az abban elhelyezett javascript kód a böngészőt új URL-re dobja, a szkript műkődését nem befolyásolja, a googlebotot meg állva hagyja.

Gyanús
Általában a saját honlapját a tulajdonos gyakran látogatja, és ismeri annak működését. Ha a böngésző címsávjába a domaint begépelve új, de az adott domainhez tartozó URL jelenik meg, akkor gyanakodjunk. Meggyőződéshez legkiválóbb az öreg barátunk, az internet explorer. Válaszd ki az eszközök menüpont internetbeállítások opcióját. A megjelenő ablak biztonság fülén pedig az egyéni szint.. a kívánatos gomb. A megjelenő lista első bajuszában látható az “AktívX vezérlők és beépülő modulok futtatása” szöveg. Itt a tiltás rádiógombot aktiválva, majd az új beállítást jóváhagyva teszteljük ismét az oldalunkat, immáron javascriptek nélkül.

Mélységi tartalom kell nekünk
Előfordul olyan eset is, amikor mélységi tartalomba szeretnénk rögtön irányítani a látogatónkat, azonban ezt javascript nélkül is meg lehet tenni, amennyiben a .htaccess futtatása engedélyezve van a szerveren.
Index.html-be kerül a mélységi tartalmat azonosító kód, például

<?php
include(“index.php?id=414”);
?>

majd a .htaccess fájlba

AddType application/x-httpd-php .php .htm .html

ezáltal biztosítva, hogy a html dokumentum tartalma php szkriptként futhasson le.

Szembetűnő változás lesz a javascriptes átirányításhoz képest, hogy jelen esetben az átirányított oldal URL-jét begépelve, majd azt jóváhagyva a címsor nem fog változni, de a megjelenő tartalom az átirányítás célpontja lesz, és a Googlenek sem lesz oka leveleket küldözgetni nekünk.

További kellemes napot!

A robots.txt tartalma magánügy

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!

Védd magad! avagy a nagy Google Proxy Hack leszámolás

If you are a native speaker of English please follow this link in order to read this article in your language.

Kezdem az egészet egy gyors nyilatkozattal: a specifikált védelmi rendszert 4-5 napig teszteltem, a Google Webmaster Tools ezalatt hibát nem jelzett. Az implementálással kapcsolatosan minden esetlegesen fellépő negatív következményt elhárítok.

Akkor jöjjön az intró: a seo katalógusomat szétproxizták [több mint tíz különböző proxyról támadtak], és a galád dögök nem álltak meg a kezdőlapnál [a domain URL-jét a google nem fogja kiejteni, mert jól meg lett küldve], és deep proxy linkekkel kedveskedtek, ami sokkal jobban fájt. Azt eddig is tudtam, hogy a jó pár spammer ellen kell a harcomat vívni, de ez azért már durva szerintem [maradhattak volna a gov domaines blogok kommentspammolásánál is].

Amikor kibukott ez az egész proxy-s dolog gyorsan eljutottam egy leíráshoz, amelynek a magyar zanzásított fordítását itt találjátok. Az ott leírt reverse cloaking technikával csak az unreachable network hibáig jutottam el, és ott pillanatok alatt likvidáltam az ahhoz szükséges script arzenált.

Tovább keresgéltem miközben a napok csak teltek és a spammerek folytatták kitartó tevékenységüket. Végül aztán rátaláltam erre a linkre, amely a hamarosan bemutatott védelmi rendszer törzsét képezte [kódrészlettel egészítettem ki, csak hogy a Yahoo Slurp-öt is kipipálhassuk]. A megoldással kapcsolatban a legnagyobb credit IncrediBILL-nek jár.

Az egész védelem az úgynevezett reverse-forward DNS robot validáláson alapul [a technológiai részletekről, bár angol nyelven, de a ezen az oldalon írnak].

Szóval, nyisd meg a notepadot, vagy bármi más alkalmas programot és pakold bele ezt a 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;
header(“HTTP/1.0 403 Forbidden”);
exit;
} else
$real_ip = gethostbyname($hostname);>
if($ip!= $real_ip){
$block = TRUE;
header(“HTTP/1.0 403 Forbidden”);
exit;
} else {
$block = FALSE;
}
}
}
?>

majd mentsd el reversedns.php néven. Töltsd fel a szerveredre. Ha a védelem alá bevont oldal php nyelven írodott, akkor egy egyszerű include-dal gyorsan elintéheted

<?php include(”reversedns.php”);?>

Ha a weblapod statikus html, akkor a meglévő, vagy a most elészítendő .htaccess nevű fájlba másold ezt a kódot:

AddType application/x-httpd-php .html .htm .txt
php_value auto_prepend_file “/data/www/htdocs/users/sziget-conseils/i-connector/reversedns.php”

, természetesen a dokumentum elérési útját a sajátodéra igazítva. Ha erről az elérési útról semmilyen információval nem rendelkezel , kérlek vedd elő a notepadot ismét és dobd bele ezt a kódot:

<?php echo phpinfo();?>

[megfelelő php nyitó és záró tagokkal]

majd töltsd fel php_info.php-ként elmentve. Futtasd a fájlt böngészőből [domained.hu/php_info.php] és keresd meg a

_SERVER[“DOCUMENT_ROOT”]

mellett megjelenített értéket. Na ezzel írd felül az én path-omat.

Futtasd az oldalad. Ha minden oké, akkor minden pöccre indul. Nincs más hátra, mint a teszt. Jó lenne működik-e igaz? Ehhez elő kell kapnod a firefox böngésződet. A címsorba írd be ezt: about:config. Jobb klikk az egérrel, majd a megjelenő gyorsemnüből az Új/Karakterlánc opciót válaszd. A beállítás neve legyen “general.useragent.override”, értéke pedig “Googlebot/2.1 (+http://www.googlebot.com/bot.html)“. Ha ezzel kész vagy, fuss neki az oldaladnak. Jó mi? Na ezt fogja látni a robot is, ha proxy linkről fog érkezni.

A teszteléshez ezt a forrást használtam.

A védelemhez szükséges fájlok letöltéséhez kattints az ikonra!

google proxy hack pack letöltés

Mosquitonak hála, a WordPress blogok védelme mától még egyszerűbb!
Katt a a dobozra, és már telepítheted is a plugint.

google proxy hack pack letöltés