Captcha php

Captcha php

Hello, kedves blog olvasói LifeExample. ma szeretnék időt arra, hogy megismerkedjenek a kívánt elemet a terület védelmét. Általunk készített PHP CAPTCHA segít megvédeni a honlapon a spam.

Mielőtt elkezdené a fejlődő captchas PHP. nézzük dot minden i. és megérteni, hol ez nem egyértelmű a nevét, és hogy mit jelent.

Mi CAPTCHA

Ma, a beállítás, minden webmaster a kérdést: "Mi az CAPTCHA?". Minden bizonnyal hallani: „Captcha - a védelem eszközeként a spam ellen robotok.” Elvileg ez igaz, de most ásni a történet, hogy megtudja, pontosabb választ erre a kérdésre.

Azokban a napokban, és a mai napig, a tudósok és a programozók sok egyetemeken még nem hozott létre mesterséges intelligencia, ami az emberi elme. Ennek ellenére a Turing művek találhatók egy jó alkalmazás a Teljesen automatizált nyilvános Turing-teszt megkülönböztetni a számítógépek és emberek (Teljesen automatizált nyilvános Turing-teszt a számítógép és az ember megkülönböztetésére) rövidített CAPCHA.

Most kiderült, hogy a szó CAPTCHA - csak egy transzkripciós rövidítések CAPCHA. Mögött egy hosszú átirat.

Így válaszolt a kérdésre: „Mi a CAPTCHA” nyugodtan mondhatjuk, hogy ez egy teszt a számítógép és ember. És mivel a captchas tudjuk pontosan meghatározni, hogy ki küldte a választ, az ember vagy a gép, majd könnyedén alkalmazhatja ezt az előnyt.

Nos, úgy tűnik, hogy megfelel az irodalmi igényeket, és kezdhetjük létre captchas PHP.

Hogyan készítsünk egy captcha

Ha megkérdezzük yandekes vagy a Google, hogy megadja nekünk a választ erre a kérdésre, akkor mekkora tömegű kínált megoldásokat. Kezdve foglalkozni az algoritmusok munka, olvastam egy csomó tanácsot és példát végrehajtásának CAPTCHA PHP. Ami lehetővé tette, hogy dolgozzon bizonyos következtetéseket, és hajtsák végre a forgatókönyvet oly módon, hogy az megfeleljen a követelményeknek.

Volt, hogy egy script „a PHP Captcha” igényel minimális erőfeszítéssel és felelős értelmében ezt a védelmet.

Ahhoz, hogy hozzon létre egy primitív, de megfelel a kanonokok a védelem érdekében szükség van öt kép:

  1. index.php - egy script levezeti a captcha PHP;
  2. validator.php - script ellenőrzi a hasonlóság a kép;
  3. capcha.php - Script-kép;
  4. comic.ttf - a szöveg betűtípusa;
  5. bg_capcha.png - háttér a szöveg mögött.

Nézzük sorrendben, az első dolog, amit akarok, hogy egy képet erre a index.php E sorok írása:

Írja be a kódot a kép:








Érdemes figyelni, hogy az src attribútumot. nem jellemző egy kiterjesztésű fájl php érte. A lényeg az, hogy bár captcha.php fájl egy forgatókönyvet, de választ ad vissza a képek formájában PNG formátumban igen alkalmas a címke
img.

Vessen egy pillantást a kódot a script az oszcilláló kép:

$ Letters = 'ABCDEFGKIJKLMNOPQRSTUVWXYZ'; // ábécé

$ Caplen = 6; // szöveg hossza
$ Szélesség = 120; $ Magasság = 40; // szélessége és magassága a kép
$ Font = 'comic.ttf'; // betűtípusa
$ Betûméret = 14; // szövegének mérete

header # 40; 'Content-type: image / png' # 41; ; // visszatérési típusú tartalom (képek PNG formátumban)

$ Im = imagecreatetruecolor # 40; $ Szélessége. $ magasság # 41; ; // egy új képet készít
imagesavealpha # 40; $ Im. igaz # 41; ; // beállítja az átláthatóságot a kép
$ Bg = imagecolorallocatealpha # 40; $ Im. 0. 0. 0. 127 # 41; ; // azonosítója színes a kép
imagefill # 40; $ Im. 0. 0. $ bg # 41; ; // kitölti szín

putenv # 40; 'GDFONTPATH ​​='. realpath # 40; '' # 41; # 41; ; // ellenőrizze a fájl elérési útját a betűtípus

$ Captcha = ''; // Zero dalszöveg
mert # 40; $ I = 0; $ i <$caplen ; $i ++ )
# 123;
$ Captcha. = $ Letters # 91; rand # 40; 0. strlen # 40; $ betűk # 41; - 1 # 41; # 93; ; // hozzáfűz egy véletlen karakter az ábécé
$ X = # 40; $ Szélesség - 20 # 41; / $ Caplen * $ i + 10; // közötti távolság karakter
$ X = rand # 40; $ X. $ X + 4 # 41; ; // véletlenszerű elmozdulás
$ Y = $ magasság - # 40; # 40; $ Magasság - $ fontsize # 41; / 2 # 41; ; // Y koordináta
$ Curcolor = ImageColorAllocate # 40; $ Im. rand # 40; 0. 100 # 41;. rand # 40; 0. 100 # 41;. rand # 40; 0. 100 # 41; # 41; ; // színe az aktuális levél
$ Angle = rand # 40; - 25. 25 # 41; ; // egy véletlen dőlésszöge
ImageTTFText # 40; $ Im. $ Betûméret. $ Szög. $ X. $ Y. $ Curcolor. $ Betűtípus. $ captcha # 91; $ i # 93; # 41; ; // kimeneti szövegben
# 125;

// megnyitja a munkamenet menteni a létrehozott szöveg
session_start # 40; # 41; ;
$ _SESSION # 91; 'Capcha' # 93; = $ Captcha;

ImagePng # 40; $ im # 41; ; // megjelenített kép
imagedestroy # 40; $ im # 41; ; // tisztítja memória

session_start # 40; # 41; ;
ha # 40; $ _POST # 91; 'Capcha' # 93; ! = $ _SESSION # 91; 'Capcha' # 93; # 41;
echo „a képen látható szöveget beírt, nem igaz!” ;
más
echo "Ur egybeesett szöveg!" ;

Ennek eredményeként, megfordultam egy könnyű, és könnyen beágyazott script PHP CAPTCHA

Captcha php

Általában osztálytársai do oldalon, azért vagyunk itt, hogy php oldalt, ugyanakkor meg a megadott jelszavát, egyidejűleg a html oldal (html kódot ragadt a print „itt”, a másik még nem tudom, hogyan) ezt a html van egy táblázat - ahol a 2 oszlopok és sorok bejelentkezés / mezőt a bejelentkezési jelszó / jelszó mezőt, minden rendben van, de amikor add meg


Írja be a kódot a kép:





oldalunkat az interneten már nem progruzhat, azaz buta fehér lap helyett a login.php.
Azt nem tudom, hogy ez miért lehet?