Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    passare email con metodo $_GET[]

    Salve,
    ho bisogno di passare un indirizzo email con metodo get.
    Di seguito un esempio:
    codice:
    <a href="elabora.php?email=mario.rossi@libero.it" target="_blank">
    Siccome voglio mascherare l'indirizzo email, ho deciso di criptarla e poi decriptarla nel file elabora.php
    Per far ciò ho utilizzato il seguente codice:
    codice:
    <?php
    function decryptIt( $q ) {
        $cryptKey  = 'hfsidufhs938832hdd';
        $qDecoded      = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");
        return( $qDecoded );
    }
    $email_criptata = $_GET['email'];
    $email = decryptIt($email_criptata); //decripto l'email
    $email_pulita = htmlspecialchars($email, ENT_QUOTES, 'UTF-8'); //evito gli script malevoli
    echo $email_pulita;
    ?>
    Il problema è che il dato criptato può contenere caratteri che il metodo get interpreta nel solito modo come ad esempio ? =
    Quindi alla fine sembra che questa soluzione non va bene.

    Esiste un modo per risolvere il problema? considerando il fatto che voglio comunque evitare che qualcuno che si intende di programmazione possa inserire nel link del codice malevolo?

    grazie.

  2. #2
    magari se si potesse far criptare solo con caratteri alfanumerici sarebbe il massimo!

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Passa il parametro alla funzione urlencode prima di assegnarlo alla url.

  4. #4
    Funziona!
    Grazie mille del suggerimento!

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.