A blog szerzői:

Weinzierl Anett
felnőttképzési szakértő, marketing tanácsadó, Doktorandusz

Duschák Zoltán
felnőttképzési szakértő, informatika tanácsadó

Vendégszerkesztők
Zsenák István
gazdaságinformatikus, PHP oktató

Eilinger Ákos
mérnök-informatikus, oktató

Filus Attila
Photoshop művész (PS Artist), kiadványszerkesztő, oktató

NetlogiC School Informatika Tanfolyamok

Kiscsoportos számítógépes tanfolyamok, gyakorlat orientált informatika oktatás, képzési hírek, ingyenes tutorialok. Képzések munkalehetőséggel: AutoCAD-Műszaki Tervező, Webdesigner, Webprogramozó, Webes-és nyomdai grafikus (Corel, Photoshop, Kiadványszerkesztő), ArchiCAD Tervező, Valamint irodai tanfolyamok: Excel, Word, Office képzés Pécsett.

A blog szerzői

A blog szerzői:

Weinzierl Anett
felnőttképzési szakértő, marketing tanácsadó, Doktorandusz

Duschák Zoltán
felnőttképzési szakértő, informatika tanácsadó


Zsenák István
gazdaságinformatikus, PHP oktató

Eilinger Ákos
mérnök-informatikus, oktató

Filus Attila
Photoshop művész (PS Artist), kiadványszerkesztő, oktató

Bejegyzések

Friss topikok

Címkék

! (1) 201 (1) 2010 (3) 2011 es (1) 2012 (2) 2d (1) 2 3D autocad tanfolyam (1) 3d (3) a (1) ablak (1) access (1) adatbázis (1) adatmentés (2) adobe (13) agytröszt (1) ajándék (2) akció (4) akkreditált (3) akkreditált php képzés Baranya megye (1) akkreditált PHP webprogramozó tanfolyam (4) akkreditált tanfolyam (2) akkreditált webdesigner képzés (4) akkreditált webdesigner tanfolyam Pécsett (4) akkreditált webdesign oktatás (4) alkalmazása (1) alkalmazások (2) államilag (1) álláslehetőséggel (13) angol magyar bizonyítvány (5) animáció (1) animációs (1) animálás (1) aranymetszés készítése photoshopban photoshop tanfolyam Pécsett photoshop oktatás webgrafikus képzés webgrafika oktatás Pécs (1) archicad (6) arcképből (1) áron (1) artist (1) arvchicad (1) autocad (9) autocad 2 3D (2) autocad oktatás Pécs Baranya (4) autocad tanfolyam (4) autocad tanfolyam Pécsett (2) baranya (37) Baranya megye (9) basic (4) blogmotor (1) böngészőkre (1) budapest (9) budapesten (2) cad (5) cad modellező tanfolyam (1) captcha (1) cd (1) cégeknek (1) céges (2) cikkek (1) cms (1) corel (8) corelben (4) coreldraw (34) CorelDraw tanfolyam Pécsett (4) cover (1) csm (1) css (3) css3 szabvany animációs lehetőségei (1) dátumok (1) designer (1) dimenziós (1) díszek (1) doboz (1) draw (2) dreamweaver (2) effektek (1) effektekkel (2) effektusok (2) egyetemistáknak (1) elismert (1) emelt (2) építésze (1) építészeti (2) és (1) excel (5) e business (2) fedlap (1) felbukkanó (1) felhasználóbarát (1) felirat (1) feliratkészítés (1) felirattal (1) felnőttképzés (56) felnőttképzés felnőttoktatás (5) felnőttoktatás (48) fényképek (1) flash (5) formázási (1) fotók (2) fotózás (1) frontpage (1) galéria (1) galéria készítés weboldalra (1) generátorral (1) geometria (1) gif (1) grafika (53) grafikai (6) grafikával (2) grafika képzés (4) grafika mester képzés (7) grafikus (35) grafikus tanfolyam (2) gragfika (2) gyakorlat (4) gyakorlatias (1) gyakorlat oreintált informatika tanfolyam (5) gyakorlat orientált (4) gyakorlat orientált felnőőtképzés (8) gyakorlat orientált képzés munkalehetőséggel (8) gyakorlat orientált oktatás (1) hálózatfejlesztés (2) happy (1) három (1) hatás (2) hiba (1) honalpkészítő (1) honlap (4) honlapkészítés (26) honlapkészítő (14) honlapkszítő (1) honlapoptimalizálás (1) honlapra (1) htaccess (1) hűsítő (1) húsvét (1) illustrator (1) Illutrator tanfolyam webgrafikus oktatás nyomdai grafika képzés Pécsett képek színezése (1) indesign (2) induló (1) informatika (52) informatikanyomdai (1) informatika képzések (3) informatika oktatás Pécs (2) ingyen (3) ingyenes (1) ingyenhonlapkészítés (1) internet (6) internetes (1) inygen (1) irodai (1) január (1) januári (1) javítása (2) jelölőnégyzetek (1) jelszóvédelem (1) joomla (1) jövő (1) karácsonyi (2) karikatúra (1) kedvezmény (2) kedvezményes (4) képek (4) képkeretezés (1) képzés (80) képzésanimációs (1) képzések (13) képzés munkalehetőséggel (1) keresőmarketing (9) keresőoptimalizálás (8) készítés (9) készítése (12) készítő (2) kezdéssel (1) kezelése (1) kiadványszerkesztés (1) kiadványszerkesztő (3) kihelyezett (3) kiscsoportos (4) kiscsoportos informatika oktatás (3) kóddal (1) könnyedén (1) kontrasztjának (1) kördiagram (1) körvonalazás (1) középiskolásoknak (1) last (1) layer (1) lebegő (1) lehetőségek (1) letölthető (1) létrehozása (1) lightbox galéria készítése (1) linklista (1) linkmarketin (1) linkmegosztók (1) marketing (9) megelőzése (1) megjelenítése (2) meglepetés (1) megoldások (1) megye (16) megyében (1) menü (1) menükészítés (2) mester (5) mikulás (2) minute (1) modellezés (2) munka (2) műszaki (2) műszaki rajzoló oktatás (2) műszaki tervező képzés (2) myqql (1) mysql (6) napakció (1) navigációs (1) névjegykártya (1) növelése (1) nyári (3) nyomadai (1) nyomdai (9) nyomdai-webes grafika oktatás Pécsett (1) offce (1) office (1) oktatáas (3) oktatas (9) oktatás (93) oktatás tanfolyam Baranya megye (10) online (9) orientált (3) országosan (3) padlóáras (4) padlóáron (1) pályázatíró (1) pécs (44) pécsett (10) Pécsett (2) pendrive (2) perspektivikus (1) pest (4) photoshop (37) Photoshop-CorelDraw tanfolyam Baranya (3) photoshopban (7) photoshop képzés Pécs (1) phottoshop (4) php (30) php és webdesigner képzések (6) plakátkészítés (1) popup (1) powerpoint (1) prgrammal (1) prhotoshop (3) probléma (1) professzionális (5) professzionális nyomdai webes grafikus tanfolyam (4) program (2) programmal (4) programozása (1) projektmenedzser (1) projektmenedzsment (1) rajzolás (2) rajzoló (1) ranfolyam (1) rendszerek (2) retusálás (1) retusálása (2) rugalmas időbeosztással (2) sablon (1) saját (6) sáv (1) scriptekkel (1) segítségével (2) sikerszakmák (2) sminkelés (1) stíluslapok (1) summer (1) szakma (2) szakmavonal (1) szám (1) számítástechnika (32) számítástehcnika (2) számítógép (11) számítógépes (25) számítőgépes (3) számítógépes tanfolyam Baranya megye (4) számítógépes tanfolyam Pécs (5) számítógéppel (2) szeptember (1) színek (1) szintű (2) tábor (1) támogató (1) támogatott (2) tanácsadás (2) tandíjkedvezményes (5) tandíjkedvezményes autocad tanfolyam nyáron (1) tandíjkedvezményes informatika képzések (2) tandíjkedvezményes informatika tanfolyam (1) tandíjkedvezményes képzés nyáron (2) tanfolyam (91) tanfolyamok (23) tanfolyam gyakorlat orientált (2) tanulmány (4) tartalmak (1) tartalomkezelő (1) térbeli (2) tervezés (5) tervező (4) tervezői (3) tippek (3) tnfolyamok (1) torzítás (1) tuti (2) tutorial (1) üdítős (1) űrlapkezelés (2) valentin (1) vállalati (3) vállalkozás (1) védelem (3) védelme (1) védelmi (2) végzettség (3) vírusírtás (2) vírusirtás (2) visual (4) visual basic (1) vizes (1) vonalas (1) web (1) webdesginer (6) webdesign (31) webdesigner (42) webes (4) webfejlesztés (1) webgrafika (21) webgrafikus (11) webkamera (1) webkatalógusok (1) weblap (2) weblapkésíztés (2) weblapkészítés (26) weblapkészítéshez (1) weblapkészítési (1) weblapkészítő (32) weblapra (1) weboldal (15) weboldal készítés (9) webprogramozás (30) webprogramozás oktatás Pécsett munkalehetőséggel (12) webprogramozó (30) webprogrmaozás (5) word (3) wordpress (3) zajtalanítás (1) Címkefelhő

Hogyan előzzünk meg néhány CAPTCHA által okozott problémát?

2012.04.23. 12:00 oktatas_szamitogepes_tanfolyamok

István mai cikkéből kiderül, hogyan tudunk megelőzni néhány- tipikusnak mondható- CAPTCHA hibát.
A cikket elsősorban a webprogramozás iránt érdeklődőknek ajánljuk!

Valószínűleg mindannyian találkoztunk már automata Turing teszttel, ismertebb nevén CAPTCHA-val internetes regisztráció alkalmával.
Az ilyen tesztek arra valók, hogy kiszűrjék a robotokat és meggátolják, hogy a gépi regisztrációk elárasszák az adatbázisainkat. CAPTCHA elméletileg bármilyen olyan eszköz lehet, ami képes ember és gép között különbséget tenni, a legtöbb ilyennek azonban vannak korlátaik.

A legjellemzőbb ilyen korlát, a nyelv.
Bár az angol, az IT világ egyezményes nyelve, nem várhatjuk el, hogy minden felhasználó megértse a CAPTCHA ellenőrzéséhez szükséges instrukciókat.
Ennek kiküszöbölésére használjuk ma a karakterek képről történő leolvasását, mivel a regisztrációs űrlapon viszonylag egyértelmű feladatnak tűnik, másrészt, a szinte már szabványnak minősülő módszert ismerik a legtöbben, így nem okoz újdonságot.

Íme, egy példa a „karaktermásolós” CAPTCHA-ra:

Az alábbi CAPTCHA problémája a nyelv:

Most lássunk egy egyszerű scriptet, amivel ellenőrizni tudjuk, létező személy próbál-e regisztrálni az oldalunkon.
Tegyük fel, hogy a captcha.png kép egy CAPTCHA, amelyet egy másik script generál, és melynek értéke a SESSION tömb captcha elemében lett eltárolva.

<?php

session_start();

?>

<img src=’captcha.png’ /><br />

<input type=’text’ name=’ctext’ value=’Írja ide a fenti karaktersorozatot!’><br />

<input type=’submit’ name=’csub’ value=’Ellenőriz’><br />

<?php

if(isset($_POST[’csub’])){

$input=$_POST[ctext];

$captcha=$_SESSION[’captcha’];

if($input==$captcha)print ’Rendben<br />’;

else print ’Helytelen<br />’;

}

?>

 

A fenti kódrészlettel az a probléma, hogy a karakterek vizsgálatakor a script key sensitive, azaz megkülönbözteti a kis- és nagybetűket. A robotok dolgának megnehezítése érdekében érdemes vegyíteni a kis- és nagybetűket a CAPTCHA-ban, de ezzel a felhasználó munkáját is megnehezítjük.
Egy kis í-ről és egy nagy Í-ről, vagy kis o-ról és nagy O-ról nehéz megmondani, hogy melyik, melyik. A felhasználó ebben az esetben vagy új képet kér, vagy betippeli a betűt, reménykedve, hogy eltalálja.

Ezt a problémát kikerülhetjük úgy, hogy mind a felhasználó által beadott értékre, mind pedig a CAPTCHA-ra meghívjuk az strtolower() függvényt, amely a beadott string minden betűjét kisbetűvé változtatja.
Ezzel együtt érdemes a trim() függvényt is meghívni, hogy a véletlenül begépelt nem nyomtatandó karakterek (pl. szóköz) ne okozzon gondot a vizsgálatnál.
Ezek alapján érdemes a fenti kódrészletet a következőképp módosítani:

 

<?php

session_start();

?>

<img src=’captcha.png’ /><br />

<input type=’text’ name=’ctext’ value=’Írja ide a fenti karaktersorozatot!’><br />

<input type=’submit’ name=’csub’ value=’Ellenőriz’><br />

<?php

if(isset($_POST[’csub’])){

$input=trim(strtolower($_POST[ctext]));

$captcha=strtolower($_SESSION[’captcha’]);

if($input==$captcha)print ’Rendben<br />’;

else print ’Helytelen<br />’;

}

?>

 

Ha már felvetődött a kis- és nagybetűk problémája, akkor kitérünk egy másik nehézségre, amit a betűk hasonló alakja okoz.

A CAPTCHA-kat érdemes valamilyen nehezen olvasható betűtípussal kiíratni a képre, hogy a robotok nehezen tudják azonosítani a karaktereket.
Ez azonban azt is eredményezi, hogy a felhasználó is nehezen olvassa majd a betűket, mi több, egyes karaktereket képtelen lesz megkülönböztetni.
Gondoljunk csak bele, hogy vajon az 1-est, (egy) és a kis l (L) betűt kellene megkülönböztetni egymástól, vagy a 0-t, a nagy O betűtől. Ez a probléma egyszerűen kiküszöbölhető. Nem random számokat és ASCII karaktereket kell a képre írni, hanem általunk választott tetszőleges karaktereket, amelyetek egy tömbből olvasunk ki.

Az alábbi kódrészlet szemlélteti a captcha.php fájl egy részét:

<?php

session_start();

$karakterek=array(2,3,4,5,6,7,8,9,q,w,e,r,t,z,u,i,p,a,s,
d,f,g,h,j,k,y,x,c,v,b,n,m,Q,W,E,R,T,Z,U,I,P,A,S,D,F,G,H,J,
K,L,Y,X,C,V,B,N,M);

for($i=0;$i<8;$i++)$captcha=$captcha.$karakterek[$i];

$_SESSION[’captcha’]=$captcha;

?>

 

Látható, hogy a $karakterek tömbből hiányzik a 0, az 1, a kis o, és l betű, illetve a nagy O betű. Az s-S, p-P, w-W, z-Z, u-U, x-X problémáját az ellenőrző oldalon az strtolower() függvény, majd lekezeli.

 

Ha mindezen elővigyázatosságok sem elegendőek arra, hogy a felhasználó rendesen el tudja olvasni a képen megjelenő szöveget, akkor biztosítani kell neki, hogy újat tudjon kérni.
Erre egy egyszerű submit gomb elegendő, azonban ez újabb problémát vet fel.
A gombra kattintva az oldal újra betöltődik, és a korábban kitöltött cellák tartalma elveszik, ami nem túl felhasználóbarát megoldás.
Ez úgy kerülhető meg, hogy magát a CAPTCHA-t, és az újrakérő gombot egy másik weboldalon hozzuk létre, és ott, ahol látni szeretnénk, egy iframe-et készítünk, ami erre, a másik weboldalra hivatkozik.
Az iframe-en belül tehát csak a kép, és a gomb látszik. A gombra kattintás esetén, nem az aktuális oldal töltődik be újra, hanem az a lap, ahol a kép, illetve a gomb található, s így a korábban kitöltött űrlapelemek érintetlenek maradnak.

 

A Regisztrációs oldalon:

<iframe src=’captcha_oldal.php’></iframe>

 

A captcha_oldal.php:

<img src=’captcha.png’ /><br />

<input type=’text’ name=’ctext’ value=’Írja ide a fenti karaktersorozatot!’><br />

<input type=’submit’ name=’csub’ value=’Ellenőriz’>

 

Minden óvintézkedés ellenére, előfordulhat, hogy a felhasználó mégis elrontja a CAPTCHA-t.
Ebben az esetben természetesen a script nem hajtja végre, amit kellene, és valamilyen hibaüzenettel visszatér az oldalra. Ezzel ugyanaz a gond, mint az előző esetben: A lap újratöltődik, a cellák tartalma elveszik.
Ezt kiküszöbölhetjük úgy, hogy kereszthivatkozást hajtunk végre az oldalon, kihasználva az input mezők value értékét. Lássunk erre egy példát:

 

<?php

if(isset($_POST[’regisztalo_gomb’])){

$username=$_POST[’username’];

}

?>

<input type=’text’ name=’username’ value=<?php

if(isset($_POST[’regisztralo_gomb’]))print ’\’’.$username.’\’’;

else print ’\’\’’;

?>>

<br />

<input type=’submit’ name=’regisztralo_gomb’ value=’Regisztrál’>

A CAPTCHA akármilyen jó is, előbb-utóbb feltörhető lesz, ahogy a neurális hálók és MI rendszerek fejlődnek, ezért hamarosan ez a „karaktermásolós” megoldás idejétmúlttá válik.
A következő hónapban megnézzük, hogyan lehet megnehezíteni a robotok dolgát, majd pedig felvázollunk néhány újfajta Turing tesztet, amelyek a mai robotokkal még nem kijátszhatóak, de gyakorlati megvalósításuk még nem is megoldott.

 

Addig is jó gyakorlást kívánunk!

 

Legyen profi, képzett Webprogramozó, és biztosítsa helyét a május közepén induló Akkreditált Webprogramozó Mester csoportban!
Jelentkezzen a kiscsoportos képzésre legkésőbb május 12-ig!

 

Szerezzen Webdesigner és Webprogramozó végzettséget egyetlen képzés alatt!
Jelentkezzen májusi Akkreditált Web Artist tanfolyamunkra
legkésőbb május 16-ig!

A képzések jellemzői:
- Akkreidtált bizonyítványok (angol, magyar)
- álláslehetőségek a képzések végén releváns szakterületen
- részletfizetési lehetőség
- ajándék Pendrive!


További,  induló májusi képzéseinket itt találja:
Májusban induló, informatika tanfolyamaink

Netlogi C School
Gyakorlat orientált informatika oktatás rugalmas időbeosztással!
www.netlogi-c.net

 


Szólj hozzá!

Címkék: hiba oktatás php captcha probléma képzés javítása webprogramozás professzionális megelőzése

A bejegyzés trackback címe:

https://oktatas-szamitogepes-tanfolyamok.blog.hu/api/trackback/id/tr875254751

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása