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

    SQL Injection e invio emial

    Salve, ragazzi, ho un problema, nel mio sito, ho un modulo contatti, dove per difendermi da SQL Injection filtro tutto quello che passa dalle input del form nel seguente modo:

    codice:
    $stringa=mysql_real_escape_string ($stringa);
    però se per esempio nella casella di testo metto il seguente messaggio:

    '''''
    '

    '''''

    quando lo spedisco con la funzione mail mi arriva cosi:
    /'/'/'/'
    /'

    /'/'/'/'/'/'/'
    codice:
     $messaggio="Richiestav da parte di un utente!
    			Il seguenti messaggio e' stato inviato da un utente:
    			Cognome e Nome: ".$_POST['nome']."
    			Via: ".$_POST['via']."
    			Citta': ".$_POST['citta'].", (".$_POST['provincia'].")
    			Telefono: ".$_POST['telefono']."
    			Email: ".$_POST['mail']."
    			
    			Messaggio: ".$_POST['messaggio'];
    $messaggio=mysql_real_escape_string ($messaggio)
    
    			$a=mail("angelo85ct@msn.com", "Messaggio di richiesta da ", $messaggio, "From: ".$_POST['nome']." <".$_POST['mail'].">") or print ("<script> alert('Errore invio dell'e-mail!')</script>");
    
    //non fate caso agli errori, l'ho scritto di getto

    come posso fare per farlo arrivare pulito? senza /

    Grazie

  2. #2
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Ciao. Prova a sostituire "$messaggio=mysql_real_escape_string ($messaggio)" con:
    Codice PHP:
    if (get_magic_quotes_gpc())
        
    $messaggio stripslashes ($messaggio);
    $messaggio mysql_real_escape_string ($messaggio); 

  3. #3
    un'altra cosa, facendo
    Codice PHP:
    <?php 

    // Filtro parole nelle query, mette l'escape \
    function Filtro($stringa){ 
     
    $stringa=mysql_real_escape_string ($stringa); 
     return 
    $stringa;

    ?>
    quando ci sono dei
    mi mette questo carrattere:
    \r\n

    come faccio a fare visualizzare poi in html? con un replace o c'è una funzione in particolare?


    Grazie

  4. #4
    come non detto, è un problema solo se facevo l'echo, nel db vengono visualizzate bene.

  5. #5
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Originariamente inviato da nemesis_85
    un'altra cosa, facendo
    Codice PHP:
    <?php 

    // Filtro parole nelle query, mette l'escape \
    function Filtro($stringa){ 
     
    $stringa=mysql_real_escape_string ($stringa); 
     return 
    $stringa;

    ?>
    quando ci sono dei
    mi mette questo carrattere:
    \r\n

    come faccio a fare visualizzare poi in html? con un replace o c'è una funzione in particolare?


    Grazie
    Se devi sostituire i caratteri "\r\n" con "
    " c'è una funzione php apposta, nl2br().


  6. #6
    si ,l'avevo vista, ma non mi funziona
    Codice PHP:
    <?php $ciccio' ciccio\r\n\r\nci\r\n \r\nco';
     echo 
    nl2br($ciccio); ?>
    mi stampa ciccio\r\n\r\nci\r\n \r\nco

  7. #7
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Hai sbagliato perchè devi usare gli apici doppi per valorizzare la variabile se vuoi che vengano riconosciuti i caratteri carriage return e new line, quindi:
    Codice PHP:
    <?php
    $ciccio
    " ciccio\r\n\r\nci\r\n \r\nco";
    echo 
    nl2br($ciccio);
    ?>

  8. #8
    grazie, questo non lo sapevo.....

  9. #9
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Prego, non c'è di che. Anch'io come te, prima di imbattermi in problemi del genere tempo fa, non sapevo che i caratteri speciali venissero riconosciuti solo se inseriti tra gli apici doppi.


  10. #10
    ma allora se passo una variabile con il post
    Codice PHP:
    $_POST['email'oppre con i doppi apici $_POST["email"
    o in questo caso sono la stessa cosa?

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.