Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso disinfettare correttamente i dati ricevuti da un'area di testo, quando li ritrasmetto nell'area di testo?

Non dovresti usare htmlentities quando lo salvi. Dovresti usare htmlentities durante la visualizzazione. La regola pratica è non codificare/disinfettare i dati finché non è necessario. Se fai htmlentities su di esso quando salvi, devi fare html_entity_decode sul testo quando l'utente desidera modificare l'input. Quindi igienizzi per quello che ti serve e niente di più. Quando lo salvi, devi disinfettare per SQL injection, quindi mysql_real_escape_string esso. Durante la visualizzazione, devi disinfettare per XSS, quindi htmlentities esso.

Inoltre, non sono sicuro che tu abbia visto il commento di Darryl Hein, ma davvero non vuoi che magic_quotes sia abilitato. Sono una cosa cattiva, cattiva e sono stati deprecati a partire da PHP 5.3 e saranno eliminati del tutto in PHP 6.