Bobby Tables: A guide to preventing SQL injection (Português)

0 Comments

Why did Bobby”s school lose their records?

a escola aparentemente armazena os nomes de seus alunos em uma tabela chamada de estudantes. Quando um novo aluno chega, a escola insere o seu nome nesta mesa. O código que faz a inserção pode ser o seguinte:

a primeira linha cria uma cadeia contendo uma instrução SQL inserir. O conteúdo da variável $studentName é colado na declaração SQL., A segunda linha envia a declaração SQL resultante para a base de dados. The pitfall of this code is that outside data, in this case the content of $studentName, becomes part of the SQL statement.

primeiro vamos “ver como é a declaração SQL se inserirmos um estudante chamado John:

isto faz exatamente o que queremos: insere John na tabela de estudantes.

agora inserimos pequenas tabelas de Bobby, definindo $studentNameparaRobert"); DROP TABLE Students;--., A declaração SQL torna-se:

isto insere Robert na tabela de estudantes. Entretanto, a instrução INSERT é seguida agora por uma instrução da tabela DROP que remove a tabela inteira dos estudantes. Ai!

como evitar tabelas de Bobby

só há uma maneira de evitar ataques de tabelas de Bobby

  • não criar declarações SQL que incluem dados externos.
  • Use chamadas parametrizadas de SQL.é isso. Não tente escapar de personagens inválidos. Não tente fazê-lo você mesmo. Aprenda a usar declarações parametrizadas. Sempre, sempre.,

    A tira tem uma coisa crucialmente errada. A resposta não é” desinfectar as entradas da sua base de dados”. É propenso a erro.


Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *