Strumenti Utente

Strumenti Sito


programmazione:php:creare_immagine_per_captcha

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

programmazione:php:creare_immagine_per_captcha [28/04/2022 - 10:26] (versione attuale)
Fabio Di Matteo creata
Linea 1: Linea 1:
 +====== Creare un'​immagine per un CAPTCHA con Php e libgd  ======
 +Autore: **//Fabio Di Matteo//** \\ Ultima revisione: ​ **//  28/​04/​2022 ​ - 10:22   //​** ​ // //
  
 +Vedremo come creare un'​immagine con da usare nei sistemi di CAPTCHA in php e libgd. Intanto ecco il risultato:
 +{{:​programmazione:​php:​captcha.png?​100|}}
 +
 +<code php>
 +<?php
 + 
 +function getRandomString($n) {
 +     $characters = '​0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';​
 +     $randomString = '';​
 +   ​
 +     for ($i = 0; $i < $n; $i++) {
 +         $index = rand(0, strlen($characters) - 1);
 +         $randomString .= $characters[$index];​
 +     }
 +   ​
 +     return $randomString;​
 +
 + 
 +
 +
 +function noise($image)
 +{
 + $x = 100;
 + $y = 50;
 + $image = imagecreatetruecolor($x,​$y);​
 + $white = imagecolorallocate($image,​ 255, 255, 255);
 + imagefilledrectangle($image,​ 0, 0, 399, 29, $white);
 + $colorText = imageColorAllocate($image,​ 255,​255,​255);​
 +
 + for($i = 0; $i < $x; $i++) {
 +     for($j = 0; $j < $y; $j++) {
 +         $color = imagecolorallocate($image,​ rand(0,20), rand(0,​255),​ rand(0,​255));​
 +         imagesetpixel($image,​ $i, $j, $color);
 +         ​
 +     }
 + }
 + return $image;
 +}
 +
 +  ​
 +$im = imagecreatetruecolor(120,​ 50);
 +$im=noise($im);​
 +
 +  ​
 +imagettftext($im,​ 20, 0, 10, 35, 
 +            imagecolorallocate($im,​ 0, 0, 0), 
 +            '​./​font.ttf',​ getRandomString(5));​
 +  ​
 +// Output to browser
 +header('​Content-Type:​ image/​png'​);​
 +imagepng($im);​
 +imagedestroy($im);​
 +?>
 +
 +
 +</​code>​
 +
 +Serve mettere a disposizione dello script un file per il font (**font.ttf**). ​

programmazione/php/creare_immagine_per_captcha.txt · Ultima modifica: 28/04/2022 - 10:26 da Fabio Di Matteo