Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [PHP Captcha Security Images]

    Ciao a tutti.

    Devo mettere un su un sito un form e-mail con il Captcha Security Images.

    Ho messo nella root principale un file info.php per controllare le caratteristiche del server.
    La versione del PHP e':
    PHP Version 4.4.1

    Purtroppo le gd library non sono abilitate. E in rete ho trovato solo form che prevedono le gd library attive per poter utilizzare il security images.

    Mi chiedevo se si può fare in qualche altro modo.

    Ciao virginio.

  2. #2
    In questo forum, il mese scorso, ho postato una mia funzione che crea una captcha letterale.
    Sostanzialmente crea due numeri, li propone sotto forma di cifre in lettere da sommare.
    Si scrive il risultato della somma (in cifre) ed il gioco è fatto.

    Altra soluzione, ma questa un po' meno solida ad essere onesti, sempre scritta da me, riguarda una captcha sviluppata in Flash/PHP.

    Morale: cerca nel forum.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Ciao alcio74

    Non riesco a trovare il post (captcha letterale) che mi hai indicato, ne ho trovato uno tuo, dove si parla di Flash/PHP

    Mi puoi passare il file (captcha letterale) zippato?


    Grazie Virginio.

  4. #4
    Proposta 1:
    Flash/php...

    Proposta 2:
    Crei tante gif, 1.gif, 2.gif......b.gif, c.gif

    crei il codice, e per ogni lettera da mostrare richiami la rispettiva immagine....

  5. #5
    Grazie per la risposta

    Potresti essere più preciso non ho capito che vuoi dire.


    Ciao grazie

  6. #6
    Premesso che sono sempre contrario a postare codice intero, perché ritengo che il forum non debba essere un bancomat del codice, ti passo la funzione che genera la captcha letterale.

    Codice PHP:
    ########################### CAPTCHA LETTERALE ###########################
    function generateCaptcha() {

    $numeri_lettere[1] = "uno";
    $numeri_lettere[2] = "due";
    $numeri_lettere[3] = "tre";
    $numeri_lettere[4] = "quattro";
    $numeri_lettere[5] = "cinque";
    $numeri_lettere[6] = "sei";
    $numeri_lettere[7] = "sette";
    $numeri_lettere[8] = "otto";
    $numeri_lettere[9] = "nove";
    $numeri_lettere[10] = "dieci";
    $numeri_lettere[11] = "undici";
    $numeri_lettere[12] = "dodici";
    $numeri_lettere[13] = "tredici";
    $numeri_lettere[14] = "quattordici";    
    $numeri_lettere[15] = "quindici";    
    $numeri_lettere[16] = "sedici";         
    $numeri_lettere[17] = "diciassette";    
    $numeri_lettere[18] = "diciotto";
    $numeri_lettere[19] = "diciannove";
    $numeri_lettere[20] = "venti"

    $numero_1 rand(120);
    $numero_2 rand(120);

    $somma_numerica $numero_1 $numero_2;
    $numero_in_lettere_1 $numeri_lettere[$numero_1];
    $numero_in_lettere_2 $numeri_lettere[$numero_2];

    $stringa_somma $numero_in_lettere_1" + " $numero_in_lettere_2;

        
    $_SESSION['somma'] = $somma_numerica;
        
        return 
    $stringa_somma;

    Come avrai notato lo script è composto da un array di numeri scritti in lettere.
    La funzione genera due numeri random, compresi tra 1 ed il numero massimo espresso nell'array, ne fa la somma che viene poi salvata in una sessione, e crea una stringa con i due numeri in lettere da mostrare all'utente.
    Nella tua form, lì dove vorresti piazzare la captcha non fai altro che mandare in echo la funzione.

    Codice PHP:
    echo generateCaptcha(); 
    Devi prevedere un campo per inserire il risultato della somma (in numeri).
    Una volta che l'utente abbia premuto il tasto di invio della form, non devi fare altro che controllare che il numero scritto dall'utente (la somma numerica cioè di quello che è stato presentato sotto forma di lettere) sia uguale al numero salvato nella sessione.

    Semplice ed anche accessibile, anche uno screen reader di un utente disabile potrebbe leggere questa captcha.... non
    trovi???
    Se vuoi aumentare i numeri possibili da mostrare non devi fare altro che aggiungere righe all'array e modificare il valore massimo nelle funzioni RAND().

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Scusa non sapevo che la pensavi così.


    Cmq non sono riuscito a mettere il codice, la tua spiegazione non è molto chiara per me visto che non sono molto ferrato con il PHP.


    Grazie lo stesso

    ciao

  8. #8
    Eh... senti.... il codice è praticamente tutto scritto.
    Devi solo implementare la form che con il PHP ha poco a che fare.
    Non so quale sia la tua conoscenza di PHP, ma penso che come si usa una funzione, o come si usano le sessioni dovresti saperlo.

    Rileggendo tutto il thread mi sembra di capire che neanche la soluzione "tampone" proposta da StefanoV sia fattibile per te, perché comunque prevede l'utilizzo di Sessioni.
    Per cui, non so cosa dirti.
    Se hai voglia di imparare PHP vai nella sezione GUIDE di questo sito ed inizia a studiare.
    Se non ti interessa, c'è un forum apposito: offro lavoro/collaborazione.
    Pagando trovi di sicuro qualcuno disposto a compilare per te il codice di cui necessiti.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Ho trovato il post dove parlavi del Captcha numerico

    nello stesso post c'e un link che punta ad un sito dove poter scaricare un Captcha numerico

    ho provato quello e funziona

    vorrei solo capire come poter inviare l'utente una volta che ha inserito il codice giusto al form vero e proprio (adesso una volta inserito il codice giusto punta nuovamente alla stessa pagina).

    Grazie ancora

    posto il codice della pagina "Captcha":

    <script language='JavaScript'>
    <!--
    function setFocus() {
    document.verifica.key.focus();
    }
    -->
    </script>
    <?
    session_start();

    $key=$_POST['key'];

    ?>
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1250">
    <title></title>
    </head>
    <body onLoad="setFocus()">
    [img]immagine.php[/img]
    <form action="#<?php echo SID?>" method="post" name="verifica" onSubmit="setFocus();">
    <input type="text" name="key" size=17 maxlength=6 >

    <input type="submit" value=" Prova il codice ">
    </form>
    </body>
    </html>
    <?
    if($key)
    {if($key==$code){?>
    <script language="javascript">
    <!--
    alert("Benvenuto");
    //-->
    </script>
    <?} else {?>
    <script language="javascript">
    <!--
    alert("Mi spiace...hai inserito un codice errato!!! Il codice esatto era <?print $code;?>. Riprova.");
    //-->
    </script>
    <?}

    } else
    {
    ?>
    <script language="javascript">
    <!--
    alert("Inserisci il codice CAPTCHA!");
    //-->
    </script>
    <?

    }

    ?>

  10. #10
    :master:
    Questo è tutto Javascript, e quel poco di PHP che c'è non è neanche corretto.

    La variabile $code da dove esce fuori???
    È quella recuperata dalla sessione???

    Puoi postare il link al thread dove avresti trovato questo esempio funzionante???

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.