Visualizzazione dei risultati da 1 a 8 su 8

Discussione: php captcha

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    2,245

    php captcha

    Ciao a tutti,
    che script mi consigliate per il captcha????
    Nel manuale in php http://www.php.net/manual/en/ cosa devo cercare per trovare questa funzione???
    Grazie
    Stefano

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    un captcha potrebbe essere questo:
    Codice PHP:
    <?
    session_start
    ();

    $x 200;
    $y 75;


    //creaiamo la stringa random e criptiamola
    $crypt sha1(microtime() * mktime());

    //preleviamo una porzione della stringa
    $str substr($crypt,0,6);


    $code $str;
    $space $x / (strlen($code)+1);
    $img imagecreatetruecolor($x,$y);
    $bg imagecolorallocate($img,255,255,255);
    $border imagecolorallocate($img,0,0,0);
    $colors[] = imagecolorallocate($img,128,64,192);
    $colors[] = imagecolorallocate($img,192,64,128);
    $colors[] = imagecolorallocate($img,108,192,64);
    imagefilledrectangle($img,1,1,$x-2,$y-2,$bg);
    imagerectangle($img,0,0,$x-1,$y-2,$border);
    for (
    $i=0$istrlen ($code); $i++)
    {
    $color $colors[$i count($colors)];
    imagettftext($img,28+rand(0,8),-20+rand(0,40),($i+0.3)*$space,50+rand(0,10),$color,'Vera.ttf',$code{$i});
    }
    for(
    $i=0;$i<400;$i++)
    {
    $x1 rand(3,$x-3);
    $y1 rand(3,$y-3);
    $x2 $x1-2-rand(0,8);
    $y2 $y1-2-rand(0,8);
    imageline($img,$x1,$y1,$x2,$y2,$colors[rand(0,count($colors)-1)]);
    }
    $_SESSION['control'] = sha1($str);
    header("Content-type: image/png");
    imagepng($img);






    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    nella pagina di controllo
    devi scrivere
    if(sha1($_POST['codiceverifica']) != $_SESSION['control']){
    die("Il codice di sicurezza non è corretto");

    }
    else{
    codice di messaggio inviato o altro
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    nel form
    [img]captcha.php[/img]
    Inserisci il codice in figura:

    <input type='text' name='codiceverifica' size="25">

    captcha.php è il file dove sta il captcha
    questo codice che ti ho postato è abbastanza semplice...comunque niente è invulnerabile però quando feci la stessa domanda mi hanno assicurato che un pò protegge
    ah poi ti devi scraricare il file ttf del carattere...
    io ho messo vera.ttf ma potresti benissimo mettere più di uno

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    2,245
    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    Girottolando ho trovato questo 3d...
    solo che mi manca qualcosa...allora ricapitolando il tutto...


    Questo è il mio file di prova
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <title>Prova</title> 
    </head> 
    <body> 
    
    <?php
    if(!isset($_POST['pass']) || $_POST['pass'] == "") 
    { ?>
      <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 
      [img]provacaptcha.php[/img]
    Inserisci il codice in figura:
    
     <input type='text' name='codiceverifica' size="25">
     <input name="frmSubmit" type="submit" value="Invia">
     
     <input type="hidden" name="pass" value="1">
     </form>
    <?php 
    }
    elseif ($_POST['pass'] == 1)
    {  if(sha1($_POST['codiceverifica']) != $_SESSION['control'])
        { die("Il codice di sicurezza non è corretto");
        }
        else { echo ("ok");
        }
    }
    ?>
    </body>
    </html>
    nel file "provacaptcha.php" ho ricopiato pari pari lo script relativo all'immagine e poi ho messo, sempre in radice, anche il file Vera.ttf

    Ma ci dev'essere qualcosa che mi sono perso perché mi dà il rettangolino vuoto con la x dove si legge solo l'alt...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    amphioxus, Scalatore o chi per loro?

    Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    472
    nessun volontario?

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.