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

Prevenção de injeção de SQL do PHP com operações de string


Claro, você pode se proteger contra injeção com mysql_real_escape_string($postID) , contanto que você não se importe com uma consulta toda vez que chamar a função.

PDO e MySQLi fornecem muito mais do que apenas proteção de injeção. Eles permitem instruções preparadas que podem proteger contra injeção sem várias chamadas para o banco de dados. Isso significa um desempenho geral mais rápido. Imagine tentar inserir em uma tabela um registro de usuário com 30 colunas... isso é muito mysql_real_escape_string() chamadas.

As instruções preparadas enviam todos os dados de uma só vez junto com a consulta e os escapam no servidor em uma solicitação. As declarações preparadas do suporte do MySQL DB, as antigas bibliotecas php mysql_ não as suportam.

Hora de passar para o mysqli ou de preferência PDO - você nunca mais vai olhar para trás.