Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Codice di sicurezza

  1. #1

    Codice di sicurezza

    Buongiorno a tutti.
    Ho riscontrato dei problemi con uno script creato tempo fa e mai modificato. Lo script contiene un codice di sicurezza scritto automaticamente in una immagine (una barra rettangolare) che l'utente deve digitare nel box di testo per procedere. Due giorni fa l'ho ripreso per adattarlo ad un modulo di un sito in PHP/Mysql che sto creando. Il giorno in cui l'ho inserito nel modulo, funzionava perfettamente, come sempre. Il giorno dopo, senza effettuare alcuna modifica, ma riuppando il modulo nello spazio web per una modifica al solo nome, non ha più funzionato. Il codice appare correttamente, ma non me lo printa, né lo memorizza per un confronto con quello scritto nel box di testo. La variabile risulta vuota nonostante il codice appaia correttamente. Non capisco dove sia l'errore, visto che non ho modificato nulla. Ho provato ad uppare lo stesso modulo in un altro spazio web. Niente.

    Riporto il codice:

    Codice PHP:
    <?php
    session_start
    ();
        
    $stringa md5(microtime());
        
    $risultato substr($stringa010);
        
    $immagine imagecreatefromjpeg("controllo.jpg");
        
    $testo imagecolorallocate($immagine255255255);
        
    imagestring($immagine55017$risultato$testo);
        
    $_SESSION['CONTROLLO'] = $risultato;
        
    header("Content-type: image/jpeg");
        
    imagejpeg($immagine);
       

    ?>
    Questo è il file php inserito in [img]codicedisicurezza.php[/img] e fin qui non ho mai modificato nulla.

    Nella pagina di elaborazione, invece, c'è un semplice

    Codice PHP:
    if ($controllo != $risultato) {
    die(
    "Errore"); 

    dove $controllo viene valorizzato prima prelevando il valore dal campo di testo, così:

    Codice PHP:
    $controllo $_POST['sicurezza']; 
    Gentilmente aiutatemi a capire dove sbaglio.

    P.S. Ho printato $controllo ed è perfettamente valorizzato, al contrario di $risultato.

    Saluti.

  2. #2
    Posta il codice HTML della form ed il codice PHP del backend.

  3. #3
    Form:

    Codice PHP:
     <form method="post" action="register.php">
     [
    b]Username[/b]:

     <
    input type="text" name="username" id="username" style="font-family: Verdana; font-size: 11px"/>


     [
    b]Password[/b]:

     <
    input name="password" type="password" id="password" style="font-family: Verdana; font-size: 11px" maxlength="10"/>
     


     [
    b]Nome[/b]:

     <
    input type="text" name="nome" id="nome" style="font-family: Verdana; font-size: 11px"/>


     [
    b]E-mail[/b]:

     <
    input type="text" name="email" id="email" style="font-family: Verdana; font-size: 11px"/>



     [
    img]codicedisicurezza.php[/img]


     [
    b]Codice sicurezza[/b]:


     <
    input type="text" name="sicurezza" id="sicurezza" style="font-family: Verdana; font-size: 11px" />



     <
    input type="submit" name="submit" id="submit" value="Registra i miei dati" /><input type="reset" name="reset" id="reset" value="Reimposta" /></form
    Register:

    Codice PHP:
    session_start();
    include(
    "config.inc.php");

    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione.");

    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database.");

    //Recupero i dati immessi nel form
    $username $_POST['username'];
    $password $_POST['password'];
    $email $_POST['email'];
    $nome $_POST['nome'];
    $controllo $_POST['sicurezza'];

    if (!isset(
    $risultato)) {
    die (
    "Non è possibile al momento registrarsi. Riprova più tardi.");
    }
    if (
    $controllo != $risultato) {
    die(
    "Il codice da te inserito non corrisponde a quello sulla barra. Torna indietro e riscrivilo correttamente.");


  4. #4

  5. #5
    Originariamente inviato da filippo.toso
    Sostituisci $risultato con $_SESSION['CONTROLLO']
    Adesso funziona. Ma non capisco, m'ha sempre funzionato..

    Comunque grazie mille.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.