Gå til innhold

Implementasjon av Captcha?


Anbefalte innlegg

Jeg trenger en captcha på en nettside. Noen som kan anbefale noen som ikke er ekstremt store og tunge og krever masse tilleggsmoduler? har tilgang til gd2 med freetype support sier phpinfo().

 

noe lignende http://www.captcha.net/cgi-bin/gimpy hadde for eksempel vært kult, men kanskje vanskelig å få til sånt med php? eller?

 

prøver å unngå store kompliserte versjoner som bruker masse klasser og styr. har en ekstremt enkel implementasjon som lager 5 tall og noen streker over, men har lest at det ikke er helt sikkert, ettersom den typen visstnok ikke er spesielt vanskelig å knekke.. filtrere ut linjene og OCRe teksten liksom.. hehe.

 

Om noen skulle være interessert i den, så er den her:

Klikk for å se/fjerne innholdet nedenfor
PHP
<?php

 

$width  200;

$height 30;

 

$image imagecreate($width$height);

 

$white imagecolorallocate($image0xff0xff0xff);

$gray  imagecolorallocate($image0xdd0xdd0xdd);

$darkgray imagecolorallocate($image0x880x880x88);

 

srand((double)microtime()*1000000);

 

for ($i 0$i 25$i++) {

$x1 rand(0,$width);

$y1 rand(0,$height);

$x2 rand(0,$width);

$y2 rand(0,$height);

imageline($image$x1$y1$x2$y2 $gray);

}

 

for ($i 0$i 5$i++) {

$cnum[$i] = rand(0,9);

}

 

 

for ($i 0$i 5$i++) {

$fnt rand(3,5);

$x $x rand($width/6-$width/6);

$y rand($height/$height/5*2); 

imagestring($image$fnt$x$y$cnum[$i] , $darkgray); 

}

 

$digit "$cnum[0]$cnum[1]$cnum[2]$cnum[3]$cnum[4]";

 

session_start();

$_SESSION['digit'] = $digit;

 

header('Content-type: image/png');

imagepng($image);

imagedestroy($image);

 

?>

Lenke til kommentar
Videoannonse
Annonse

om det er verdt bryet? klart det er verdt bryet :) om man finner noe som er bedre og som er kulere og som man lærer noe av så er det klart det er verdt det :)

 

I hvert fall når man programmerer for å lære og å lage noe bra, og ikke for å tjene penger for eksempel :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...