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

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

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

Messaggio 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);

?>
Ultima modifica di treled il martedì 16 giugno 2015, 13:43, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

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

Messaggio 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.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

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

Messaggio da treled »

ok, va bene allora lo lascio cosi.

grazie per la spiegazione.

EDIT - non riesco ad mettere "Risolto" al topic. come faccio?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

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

Messaggio da Zoff »

Accorcia il titolo
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
treled
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: lunedì 26 aprile 2010, 17:36
Desktop: gnome
Distribuzione: ubuntu 23.04/22.04
Sesso: Maschile
Località: Massa(MS)

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

Messaggio da treled »

fatto.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: Bing [Bot] e 4 ospiti