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

    htmlentities per stringhe in entrata nel db

    E' corretto applicare htmlentities() ai dati in entrata nel dabase pur utilizzando con charset latin1?

    In particolare la funzione per filtrare le mie stringhe coinvolte nelle query è la seguente:
    Codice PHP:
    function filtro_db($stringa)
        {
        
    $stringa trim ($stringa);
        if(empty(
    $stringa))
            {
            return 
    FALSE;
            }
        else if(
    get_magic_quotes_gpc())
            {
            
    stripslashes($stringa);
            }
        return 
    mysql_real_escape_string(htmlentities($stringa));
        } 
    In pratica la mia intenzione è quello di creare una funzione filtro che sia compatibile con qualsiasi charset adotti il db.
    Sbaglio qualcosa? è errato filtrare le stringhe in entrata in questo modo?

  2. #2
    A meno che non hai necessità molto particolari, é corretto passare per htmlentities().
    In particolare se si tratta di qualcosa tipo blog, forum, chat, dove gli utenti possono pubblicare un messaggio. Se non presti attenzione ai tag html rendi possibile inserire cose tipo

    Codice PHP:
    <script>
    //lasciamo perdere
    </script> 
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Secondo me la soluzione migliore e' impostare il charset corretto (utf-8 a meno di esigenze molto particolari) e salvare i dati nel database cosi' come sono. Poi se devi mandare in output il testo al browser, e il testo puo' contenere tag html, allora lo filtri con htmlspecialchars() per evitare problemi.

  4. #4
    grz mille dei preziosi pareri...

    quindi in pratica non è sbagliato ma non è usuale... conviene scegliere sempre un idoneo charset e filtrare in uscita i dati e non in entrata... mmmmmmm

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.