Monthly Archives: March 2008

Ismét verseny

Már csak pár nap van még hátra a seocontest2008 kulcsszóval fémjelzett nemzetközi versenyből, de a 2.-ik pénzdíjas magyar seo futamon a résztvevők lassan a startvonalhoz állhatnak. A verseny főszervezője a SEO FÓRUM egyik tulajdonosa, G-easy.

A verseny összdíjazása jelen pillanatban is még dúsulás alatt áll, hála a verseny egyik főtámogatójának a Silihost tárhelyszolgáltató vállalkozásnak.

A versenyzőknek tiszta játékot és rengeteg kitartást kívánok, a kívülálló megfigyelőknek pedig jó szurkolást és sok izgalmat.

További kellemes napot!

htpasswd a házban

Nagy örömömre szolgál, hogy ezen a platformon is lehetőségem van bemutatni az i-connector.com újabb gyöngyszemét a htpasswd.i-connector.com weboldalt.

Alapvető funkcióját tekintve egy, a könyvtárak jelszavas védelméhez elengedhetetlen .htpasswd fájl tartalmát generálja.

A nagy hévben egy letölthető verzió is készült, amely segítségével a védelem másik pilléréül szolgáló .htaccess fájl is könnyűszerrel létrehozható a felhasználói név illetve a jelszó specifikálását követően.

Forrest Gumphoz hasonlóan, én sem értem be ennyivel és ha már egyszer ott voltam egy a domain átirányításhoz (www, nem www problémát rendezi el) szükséges .htaccess kód generátor formot is létrehoztam.

Na elég volt az önreklámból, most következzék a köszönetnyílvánítás. Harder, a tutorial webmestere nagyon kedves gesztussal kitette az újdonsült oldalam linkjét egy a .htaccess fájllal foglalkozó irásába, amit ezúton is nagyon köszönök.

Picit visszakanyarodnék az újszülötthöz. Design tekintetében én nagyon büszke vagyok magamra, mert szokásommal ellentétben úgy tűnik egy könnyen kezelhető felületet sikerült a felhasználók számára készítenem.

További kellemes napot mindenkinek!

Click fraud, avagy védd az AdSense fiókodat stílusosan

Röviden összefoglalva a click fraud az a jelenség, amikor egy személy, vagy egy program rossz szándékkal egy fizetett hirdetésre kattint. A jelenség motiváló tényezőjének boncolgatását inkább a pszichológusokra bíznám, inkább valami másra koncentrálnék az elkövetkezőkben.

Egy-két oldalt és prezentációt átnézve egyre inkább úgy tűnik számomra, hogy az ipari méretű csalások mögött leginkább robot hálózatok állnak. Az oldalletöltések azonos IP-ről egyszerre akár több operációs rendszert azonosítva is érkezhetnek.

click fraud

forrás

A probléma ezzel a jelenséggel az, hogy vétlen hirdetés publikálók is áldozatául eshetnek a Google válaszának, az AdSense fiók felfüggesztésnek.

Pár óra alatt azonban sikerült valamiféle dögös megoldást összeeszkábálnom, amit így utólag végiggondolva nem sok teret fog engedni a click fraud kártékony jelenségének.

Első lépésként bemutatnék egy képzeletbeli AdSense kódot, hogy mindjárt bele is kezdhessünk hirdetői fiókunk biztonságosabbá tételébe.

<script type="text/javascript">
google_ad_client = "pub-xxxxxxxxxxxxxxxx";
google_ad_slot = "xxxxxx";
google_ad_width = 234;
google_ad_height = 60;
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

Így néz(ne) ki a te oldaladban is egy Google hirdetés, és a forráskód megjelenítésével ez bárki számára hozzáférhető. Kimásoltam az erre a domainre dedikált kódot, majd beillesztettem egy másik oldalamba és ott is megjelent a hirdetés. Itt már kezdődnek is a gondok. Ha bárki rossz szándékkal kimásolja a javascriptet és bárhová beilleszti, szabadon kattingathat, anélkül, hogy ez neked bármilyen (webstatisztika) módon is feltűnhetne.

Ez a gondolatmenet elvisz minket a legfontosabb lépéshez. A javascript külső, védett fájlba való átmozgatásához.

<script type="text/javascript" src="adsense-kod.js">
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Ezt követően az adsense-kod.js-be helyezzük a kódnak ezen részletét:

google_ad_client = "pub-xxxxxxxxxxxxxxxx";
/* 234×60, létrehozva 2008.03.01. */
google_ad_slot = "xxxxxx";
google_ad_width = 234;
google_ad_height = 60;

Ezzel a lépéssel az AdSense kód külső fájlba került, de a javascript direkt elérését még nem akadályoztuk meg. Használjuk erre az hotlinking ellen is szükséges .htaccess kódot, a következő formában.

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?seo.i-connector.com(/)?.*$ [NC]
RewriteRule .*\.(js)$ http://seo.i-connector.com/ [R,NC]

Ezáltal a .js kiterjesztésű fájlok csak a második sorban specifikált domain fájljai számára lesznek elérhetőek. Direkt eléréskor a harmadik sorban lévő URL lesz az átirányítás végállomása.

Következzék a második lépés, amely során aktív kattinós IP adatgyűjtésbe fogunk kezdeni. Az oldalad kódjában a Google hirdetést ilyen formán építsd be.

<form method="post" action="" id="ads">
<div class="ads">
<script type="text/javascript" src="adsense-code.js">
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
</form>

Lesz tehát egy ajax posztoló form, amely tartalmazza a hirdetés kódját.

A hirdetést taralmazó oldal head részébe kérlek illeszd be ezt a három sort, és már majdnem készen is leszünk.

<script src="mootools.js" type="text/javascript"></script>
<script src="control.js" type="text/javascript"></script>
<?php require "ads-controller.php" >

Amint a három fájlon szépen végigmentünk, addigra a védelem össze is áll (tartalmuk lementésekor kérlek nagyon ügyelj arra, hogy azt a szükséges fájlkiterjeszés megadásával illeszd az oldaladba).

mootools.js
Mootools.net-ről szabadon letölthető javascript keretrendszer.

control.js
Az AdSense hirdetést tartalmazó ads class-szal azonosított div felett végrehajtott egérkattintás (mousedown esemény) válaszául a div-et 800 milisecundum alatt teljesen átlátszóvá transzformálja, valamint vezérli az ajax posztolást az ip-log.php fájl futtatásaként.

Az ip-log.php fájl fogja végezni a statisztikai adatgyűjtést gyűjtést. A benne meghatározott limit változóval ($limit=1000;) indirekt módon szabályozható, hogy hányadik kattintást követően kerüljön a logfájl törlésre, azaz ismét kattinthatóvá válnak a hirdetések a korábban már kattintók számára.

Az indirekt szabályozás abból áll, hogy a logfájl mérete kerül összehasonlításra a limit változóval. Egy IP körülbelül 13 byte. 1000 osztva 13-mal durván 75 kattintás. Azt gondolom a logfájl törlésésére olyan nagyon égető szükségünk nincs is, hiszen a visszatérő látogatóid jellemzően a tartalmadra kíváncsiak, nem is igazán a hirdetések érdeklik őket, de a szkripted futását a fájlméretének növekedésével arányosan lassítani fogja, tehát inkább a fájlméret alapján válassz limitet, mintsem a kattintások száma alapján.

ads-controller.php
Működése roppant mód egyszerű, ha a látogató hirdetési kattantása miatt a logfájlba került, akkor az oldal töltődésekor eszközli a hirdetés eltűnését.

<script type="text/javascript">
window.onload = function()
{ new Fx.Style( "ads", ‘opacity’, {duration: 1000} ).start(1,0);}</script>

A szkript működését ezen a demo oldalon megtekintheted.

Kérlek, hogy ne kattints a hirdetésre, helyette Google Ads képre kattintva ugyanazt a hatást éred el!

Nyilatkozat:

  • a Google AdSense felhasználási feltételeit nem ismerem, ha valamelyik pontjával meglátásod szerint a megoldás ütközik kérlek tudasd velem,
  • a mootools hajlamos szkript ütközésre,
  • semmiért semmilyen felelősséget nem vállalok.

Ha a posztomat végig bírtad olvasni és megértetted, javaslom, hogy nyiss egy sört és dőlj hátra, mert rászolgáltál. 🙂

További kellemes napot kívánok!