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

Quando NÃO devo usar mysql_real_escape_string


É uma má ideia por alguns motivos:
  • Primeiro, ele assume que suas entradas estarão sempre entrando no banco de dados e apenas no banco de dados. E se algo for usado na saída HTML? Ou em um e-mail? Ou escrito em um arquivo? Ou muitas outras coisas. Sua filtragem deve sempre ser sensível ao contexto.

  • Mais importante, ele encoraja o uso desleixado de GET, POST, etc, porque não há indicação de que eles foram filtrados. Se alguém vê você usar

    echo $_POST['nome'];

    em uma página, como eles saberiam que ela foi filtrada? Ou pior ainda... você tem certeza que foi? E aquele outro aplicativo? Você sabe, aquele que você acabou de entregar? O que os novos desenvolvedores fariam? Eles saberiam que a filtragem é importante?