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

é melhor escapar/codificar a entrada do usuário antes de armazená-la no banco de dados ou armazená-la como está no banco de dados e escapar durante a recuperação?

  1. Por que você espera que sempre usará os dados em um contexto HTML? "Eu <3 você" e "eu <3 você" não são os mesmos dados . Portanto, armazene os dados como é pretendido no banco de dados. Não há motivo para armazená-lo com escape.

  2. O HTML escapando dos dados quando e somente quando necessário dá a você a confiança para saber o que está fazendo. Este:
    echo htmlspecialchars($data);
    

    é muito melhor do que:
    echo $data; // The data should already come escaped from the database.
                // I hope.