SQL Injection
É difícil de imaginar uma aplicação que não utilize um banco de dados para cadastrar seus usuários, produtos, enfim, os dados que a aplicação necessita para funcionar. Estes bancos de dados são usados para cadastrar, consultar e editar itens, normalmente através das chamadas queries SQL. O problema Os servidores que não se atentarem, podem estar sujeitos à inserção de strings do usuário que tentarão misturar-se com a lógica da query. É disto que trata o SQL injection. Ela é uma falha no servidor (back-end) que executa comandos indevidos no banco de dados. Considere a query onde "user" e "password" são parâmetros passados pelo request: "SELECT * FROM users WHERE username='".$_POST['user']."' and password='".$_POST['password']."' " Quebra-se a expressão ao se inserir uma senha: a' or 1='1 Isto porque a query ficaria assim: "SELECT * FROM users WHERE username=‘poirot' and password='a...