Pagina 1 di 1

[Risolto][PHP] eliminare parte grafica un codice captcha

Inviato: venerdì 12 giugno 2015, 20:48
da treled
Salve, in questo captcha vorrei togliere la parte grafica e farlo solo textuale, come posso fare?

No lo fatto io, lo preso su internet e non ricordo più dove.. e poi non riesco ad trovare più il blog che lo faceva.
ecco il codice:

Codice: Seleziona tutto

<?php
// AVVIA LA SESSIONE
session_start();
// GENERA 5 CIFRE A RANDOM
//
do{
	
	$cap1 = rand("1","9");
	$cap2 = rand("1","9");
	$cap3 = "=";
	$cap4 = rand("0","2");
	
} while( $cap4 == 1 AND $cap2 >= $cap1 );

switch ( $cap4 ) {
	case 0: 
	    $operat = "+";
	    $operaz = $cap1 + $cap2;

	break;

	case 1:
	    $operat = "-";
	    $operaz = $cap1 - $cap2;
		
	break;

	case 2: 
	    $operat = "*";
	    $operaz = $cap1 * $cap2;
	
	break;
}


// COMPONE IL NUMERO E LO SALVA IN UNA SESSIONE
$_SESSION['codice'] = $operaz;

// AVVIA l'ISTANZA PER LA CREAZIONE DELL'IMMAGINE
$immagine = imageCreate(88, 36);

// DEFINISCE I COLORI CHE UTILIZZEREMO NELL'IMMAGINE
// (IL PRIMO COLORE INSERITO DIVIENE AUTOMATICAMENTE LO SFONDO)
$arancio = imageColorAllocate($immagine, 255, 136, 0);
$blu = imageColorAllocate($immagine, 0, 0, 255);

// GENERA A RANDOM UN NUMERO DI PUNTI (COMPRESO TRA 50 E 100)
$ndot = rand("50","100");

// CICLO PER L'INSERIMENTO DEI PUNTI
$zdot = 1;
while ( $zdot <= $ndot ) {
	$dotx = rand("2","86");
	$doty = rand("2","34");
	imageline( $immagine, $dotx, $doty, $dotx, $doty, $blu );
	$zdot++;
}

// SCRIVE LE CIFRE INSERENDOLE CON UNA X FISSA E UNA Y VARIABILE
imageString($immagine, 5, 15, rand("5","15"), $cap1, $blu);
imageString($immagine, 5, 30, rand("5","15"), $operat, $blu);
imageString($immagine, 5, 45, rand("5","15"), $cap2, $blu);
imageString($immagine, 5, 60, rand("5","15"), $cap3, $blu);

//imageString($immagine, 5, 70, rand("5","15"), $cap5, $blu);

// DEFINISCE IL MIME-TYPE DELL'IMMAGINE (IN QUESTO CASO COME IMMAGINE PNG)
header("Content-type: image/png");

// CREA L'IMMAGINE PNG
imagepng($immagine);

// LIBERA LA MEMORIA
imageDestroy($immagine);

?>

Re: [PHP] - Eliminare la parte grafica gd da un codice captc

Inviato: martedì 16 giugno 2015, 12:45
da Zoff
Un captcha testuale è inutile, il captcha usa le immagini per evitare che script automatici eseguano le operazioni senza l'intervento umano.
Un captcha testuale verrebbe letto dallo script e riprodotto per cui sarebbe completamente inutile.

Rimuovi il captcha e sei a posto.
Al limite usa un token CSRF come campo hidden del form.

Re: [PHP] - Eliminare la parte grafica gd da un codice captc

Inviato: martedì 16 giugno 2015, 12:52
da treled
ok, va bene allora lo lascio cosi.

grazie per la spiegazione.

EDIT - non riesco ad mettere "Risolto" al topic. come faccio?

Re: [PHP] - Eliminare la parte grafica gd da un codice captc

Inviato: martedì 16 giugno 2015, 13:40
da Zoff
Accorcia il titolo

Re: [Risolto] -[PHP] - eliminare parte grafica un codice cap

Inviato: martedì 16 giugno 2015, 13:43
da treled
fatto.