Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como faço para higienizar corretamente os dados recebidos de uma área de texto, ao enviá-los de volta para a área de texto?


Você não deve usar htmlentities ao salvá-lo. Você deve usar htmlentities ao exibi-lo. A regra geral é não codificar/higienizar os dados até que você precise. Se você fizer htmlentities nele quando você salva, então você tem que fazer html_entity_decode no texto quando o usuário deseja editar a entrada. Assim você higieniza para o que precisa e nada mais. Ao salvá-lo, você precisa sanitizar para injeção de SQL, então você mysql_real_escape_string isto. Ao exibir, você precisa limpar para XSS, então você htmlentities isto.

Além disso, não tenho certeza se você viu o comentário de Darryl Hein, mas você realmente não quer magic_quotes ativado. Eles são uma coisa ruim, ruim e foram descontinuados a partir do PHP 5.3 e desaparecerão completamente no PHP 6.