Blogok, amelyek érdemesek

Kedvenc szociális oldalaim mindig is a fórumok voltak, ahol szélesebb keretek között nyílik lehetőség az interakcióra, azonban kis hazánkban is léteznek azok a blogok, amelyeket rendszeresen felkeresek.
Ajánlom mindenkinek az alábbi öt oldalt, vagy talán inkább BRANDET:

Hosszas barangolást, és további kellemes napot kívánok!

no comment

[Linkmarketing.hu Partnerprogram] amatőr.seo.forum.hu

Nekem az egész fórum alapítóiról ez a véleményem. Ugye azok csinálták a fórumot, akik részt vettek a linkfelhő versenyben. Ott sem tudtak igazából nagydolgot felmutatni. Ezért nem szeretem, amikor lelkes amatőrök “eladják” magukat profinak. A nem hozzáértő embereknek mindent be lehet adni… Az a véleményem, hogy csak játsszák az eszüket…

Konrád

forrás

Fájdalommentes Captcha jár a népnek

A Captcha számomra egy szóval jellemezhetó: FÁJDALOM, azonban szükségességét semmiképpen nem kérdőjelezném meg.

Gondoltam, milyen nagyszerű lenne egy olyan herkentyű, amely minden karakter begépelésekor azonnali visszajelzést küldene a form kitöltőkének, és nem csak a posztoláskor zúdulna a döbbenet.

Pár órányi szenvedést követően összeállt a rendszer, amely egy sima javascript, de szerintem és az eddigi tesztalanyok szerint is meglehetősen dögösre sikeredett.

Akkor hát következzék maga a form

<input name="seccode" type="text" id="seccode_id" size="20" onkeyup="count()" style="background-color:#FFFFFF"/>
<span id="ok"></span>

, amely majd a billentyű lenyomását követően fog értékelést kapni ettől az alábbi javascript kódtól.


<script type="text/javascript">
function count(){
var desc = document.getElementById("seccode_id").value;
var code = "<?php echo rtrim(preg_replace('/(.)/', '$1%51%', $_SESSION['secword']));?>";
var result = code.replace(/%51%/gi, "");
var length = desc.length;
if (desc.slice(0,length)==result.slice(0,length))
{document.getElementById("seccode_id").style.backgroundColor="#E2FFB1";
document.getElementById("ok").innerHTML = "";}
else
{document.getElementById("seccode_id").style.backgroundColor="#DF625B";
document.getElementById("ok").innerHTML = "the last charcter you entered is invalid";}
if (length==0){
document.getElementById("seccode_id").style.backgroundColor="#FFFFFF";
document.getElementById("ok").style.visibility="hidden";}
if (length==6 && desc.slice(0,length)==result.slice(0,length)){
new Fx.Style('secur', 'opacity', {duration:1000}).start(1,0);
document.getElementById("ok").style.visibility="hidden";}}
</script>

A javascriptnek két inputja van: a Captcha szkript által generált $_SESSION[‘secword’], valamint a humanoid szövegbevitel (input form tartalma). Az ellenőrző kód html-be történő kiíratását sajnos sehogy sem tudtam megkerülni, így annak szennyezéséről, majd megtisztításáról egy preg_replace php, majd egy replace js funkció gondoskodik, jelen szkriptben a Captcha karakterei közé egy %51% sztringet beszúrva.

A működés nagyon röviden a következő. Leütéskor a js megvizsgálja az input hosszát, majd az értéket a Captcha azonos hosszú értékével összeveti. Egyezés esetében az input háttérszíne zöldre vált, eltérés esetén piros féle árnyalatban tűndököl, valamint egy figyelmeztető szöveg is megjelenítésre kerül az ok id vel fémjelzett pozicióba, hogy azonnal felhívja a gépelő figyelmét a problémára.

Az utolsó három sor, már csak a hab a tortán. A demóban szereplő ellenőrzőkód 6 karakter hosszúságú, helyes begépelést követően a form container divje mootoolsosan beolvad a háttérbe.

További kellemes napot!

Ilyen London

A héten kedves barátom meghívására 2 napot Londonban töltöttem és ezúttal szeretném egy élménybeszámolóhoz hasonlóan a sztoriaimat megosztani veled.

Életemben most ültem először repülőgépen, a 4-5 évvel ezelőtti sárkányrepülős rémálmot leszámítva. Ez annál sokkal lágyabb és felemelőbb volt.

Londonban a legnagyobb kihívást számomra a közlekedés okozta. Minden fordítva történik, de mielőtt elfelejtem ki kell jelentenem, hogy Anglia a körforgalmak országa. Szóval vissza a reverz működéshez, a túristalátványosságok környékén a zebrákon az első csíkot megelőzi a

LOOK RIGHT felirat >>

és nem véletlenül. Magyar ember, ha balról jó akkor elindul, ha szerencséje van a jobb vállát nem símogatja meg egy kétemeletes busz. Meglátásom szerint az ottani közlekedés tervezéssel foglalkozó mérnökök jó munkát végeztek az FMEA felett őszülve.

Az utazás remek volt, de a 230-as hétfői ébredés kávé hiányában nagyon fájt. Tudtam, hogy stresszelni fogok, és a kávé ezt csak tetézné, így azt kihagytam. Egy erős kávéfüggő el tudja képzelni milyen az, amikor 1530 körül issza meg az elsőt, pláne ha azt megelőzően már 13 órája talpon van. Szóval ez így nagyon kellemetlen volt, de maga a nagy Anglia azért kárpótolta bánatom és végül minden jóra fordul a dupla capuccino gyomorba való betárazását követően.

A második nap városnézéssel telt el, tudom idióta dolog, de annyira nem hoznak lázba a látványosságok, sokkal inkább élvezem a társas interakciót az emberekkel. Az alábbiakban található a három legjobb fotó, amit sikerült összehoznom.

A környezetkímélő dohányzás

A kísértés nagy volt, de visszafogtam magam és nem vettem ilyen fémdobozből készített tálat, mert a lakás már így is tele van hamussal.

Nem tudom
lábak Londonban
Hogy mikor készítettem ezt, arról fogalmam sincs, de ékes evidenciája a fotózáshoz kapcsolható erős függőségemnek, de talán sokkal inkább annak hiányának. A kép érdekessége az az, hogy a négy cípő kivétel nélkül különböző emberhez tartozik.

Ilyen London
nők Londonban
Hát igen, azért vannak még örömök az életben. Vendéglátom bevitt a művészvilág lakóhelyére, két opciót kínált fel. Ezt a kirakatot, és egy másikat, de az egyik előtt mindenképpen le akart fotózni, hogy legyen valamilyen bizonyítéka ellenem. Mivel emelett áltunk és Zoli konformista, ezt választotta. Kiderült, hogy a másik kirakat egy meleg bár shopja.

Jól választottam ezúttal Morpeus, a piros és a kék tabi helyett az egész dobozt elszedtem.

További kellemes napot!

php átirányítás mod_rewrite nélkül

Mindenkivel előfordulhat, hogy olyan környezetben szeretne átirányítgatni, ahol a mod_rewrite nem elérhető.

Nézzük szépen végig az eseteket és az alkalmazható orvosságot.

A legegyszerűbb eset, amikot egy adott URL-t szeretnénk új helyszínre átpasszolni.
Orvosság: php fájl feltöltése a régi helyére az alábbi tartalommal

<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.új-helyszín.hu" ); 
?>

Bonyolítsuk a dolgot, és játszunk olyat, hogy a mappa nevű mappára érkező lekéréseket szeretnénk mondjuk az új helyszínre átküldeni.
Hozzunk létre mondjuk egy redirection.php fájlt az alábbi tartalommal és include-dal meghívjuk a szkript első sorában.

<?php
if(stristr($_SERVER['REQUEST_URI'], '/mappa/')){
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.új-helyszín.hu/");
exit();
}
?>

Kitaláljuk, hogy szeretnénk a www vs. nem-www problémát egyszer és mindenkorra tisztázni, ezzel egységesítve a bejövő linkek támogatását és a duplikált tartalmak egy részét megszűntetve.
Szeressük jobban a www nélküli verziót és az előbb felvázolt redirect.php-be most tegyük ezt a tartalmat.

<?php  
if(stristr($_SERVER["HTTP_HOST"], 'www')){

header("HTTP/1.1 301 Moved Permanently"); header("Location: http://honlapom.hu/" . $_SERVER["REQUEST_URI"]); exit(); } ?>

De van, aki a www-t szereti, kedvezzünk nekik is egy kicsikét.

<?php  if(!stristr($_SERVER["HTTP_HOST"], 'www')){
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.honlapom.hu/" . $_SERVER["REQUEST_URI"]);  
exit();  } 
?>

További kellemes napot!

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!