*   >> Lezen Onderwijs artikelen >> tech >> web development

Captcha - De eenvoudigste manier om ervoor te it

Een groot probleem vandaag is spam. De beste manier om spam te bestrijden is Captcha. Captcha maakt het verschil tussen een computer en een mens. Computers kunnen de tekst in een foto niet lezen en dit is de reden waarom we een foto te zullen gebruiken.

Laten we beginnen met het creëren van het bestand captcha.php. Dit bestand wordt een foto met een tekst geschreven over het creëren

header ('Content-type: image /jpeg');.

//Een jpeg wordt uitgevoerd $ width = 60; //Breedte van het beeld $ height = 24; //Hoogte van de foto $ my_image = imagecreatetruecolor ($ breedte, $ hoogte); //Maak truecolor image imagefill ($ my_image, 0, 0, 0xFFFFFF); //Witte achtergrond

Tot nu toe zijn we erin geslaagd om een ​​beeld dat een witte achtergrond, 60 pixels breed en 24 pixels hoog heeft te creëren.

Laten we nog wat vervormingen:

voor ($ c = 0; $ c $ x = rand (0, $ breedte-1); $ y = rand (0, $ hoogte-1); imagesetpixel ($ my_image , $ x, $ y, 0x000000);}

We ingebracht 40 zwarte pixels in het beeld Deze pixels zullen verschillende coordonates elke keer een foto wordt geladen

Laten we het op te schrijven van de tekst.. de foto:..

$ x = rand (1,10); //X coordonate van de linker bovenhoek $ y = rand (1,10); //Y coordonate van de linker bovenhoek $ rand_string = rand (10000,99999); //Haal een nummer tussen 10000 en 99999 imagestring ($ my_image, 5, $ x, $ y, $ rand_string, 0x000000); //Schrijf het aantal eerder verkregen op de foto

Laten we redden de string geschreven op de afbeelding in een cookie. Wij zullen deze cookie eenmaal een formulier wordt ingediend om de gegevens te vergelijken lezen.

setcookie ("cookie-captcha", (md5 ($ rand_string)) , tijd () + 3600, "/"); imagejpeg ($ my_image); //Maak de jpeg-foto imagedestroy ($ my_image); //Verwijder de jpeg-foto

In dit voorbeeld is de naam van de cookie is cookie- -captcha, het is de inhoud zal de md5 gecodeerde waarde van de willekeurige reeks eerder verkregen (het nummer geschreven in de afbeelding), het is geldig voor een uur op al uw domein.

De foto wordt verwijderd (imagedestroy ) om ruimte te besparen op de server

De volledige captcha.php bestand zal zijn:

header ('Content-type: image /jpeg'.

); $ width = 60; $ height = 24; $ my_image = imagecreatetruecolor ($ breedte, $ hoogte); imagefill ($ my_image, 0, 0, 0xFFFFFF); voor ($ c = 0; $ c $ x = rand (0, $ breedte-1); $ y = rand (0, $ hoogte-1); imagesetpixel ($ my_image, $ x, $ y, 0x000000);} $ x = rand (1,10); $ y = rand (1,10); $ rand_string = rand (10000,99999); imagestring ($ my_image, 5, $ x, $ y, $ rand_string, 0x000000); setcookie ("cookie-captcha", (md5 ($ rand_string)), de tijd () + 3600, "/"); imagejpeg ($ my_image); imagedestroy ($ my_image);?>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.