Mão na Massa Segurança no PHP – E o vencedor é…
Parabéns a Lucas Fernando Amorim. Ele foi contemplado com um ingresso cortesia para o Evento Mão na Massa: Segurança no PHP. Sua resposta foi a melhor dentre as postadas:
A classe PDO fornece uma camada de abstração entre o banco de dados e a sua aplicação, isto não evita ataques de SQLInjection, mas alguns de seus métodos auxiliam, tais como:
- PDO::prepare; prepara uma consulta. Retorna um objeto PDOStatement.
- PDOStatement::bindParam; liga uma variável em um parâmetro.
Estes dois métodos possibilitam, quando bem usados, eliminar quase todos os métodos de SQLInjection, exceto raras vulnerabilidades 0-day que ocorrem no banco de dados, no objeto do PDO, ou até mesmo no Driver PDO.
Com certeza esta é a melhor forma de se evitar SQLInjections usando PDO. Ressalto que PDO não é uma ferramenta de ORM, mas uma ferramenta que fornece conexão com o banco de dados.
Lembre-se; a melhor maneira de evitar SQLInjection é um bom código, e a melhor maneira sem ORM é com PDO. Estar sempre atento também as atualizações de segurança. Este é o fim dos cabelos brancos. ;D
A todos os que participaram nosso MUITO OBRIGADO.
E lembrem-se: O evento é dia 28 próximo. Mais informações no site do evento.
Até a próxima.

