Prevenindo SQL Injection
Pondo em prática e deixando de lado outras verificações, o código PHP do início do post http://dascoisasqueaprendi.com.br/tiseguranca/sql-injection-outro-foco/ ficaria algo como:
...
// validando a entrada
$usuario = $_POST['Usuario'];
if(!preg_match('/^[0-9]{1,6}$/', $usuario) die('Usuário inválido!');
$conexao = new mysqli('mysql.exemplo.com', 'root', 'password123', 'agenda', 3306);
// consultando via statement
$statemt = $conexao->prepare('SELECT CompromissoNome, CompromissoData, CompromissoImportancia FROM Compromisso WHERE UsuarioID = ?');
$statemt->bind_param('i', $usuario);
$statemt->execute();
$statemt->bind_result($nome, $data, $importancia);
echo '<table><tr><td>Nome</td><td>Data</td><td>Importância</td></tr>';
while ($statemt->fetch())
{
echo "<tr><td>$nome</td><td>$data</td><td>$importancia</td></tr>";
}
echo '</table>';...
Páginas:
1
2
Usando tambem o real_escape ($conexao->real_escape_string($query)) também ajuda bastante.
15/08/2011 1:57pm
(~9 meses atrás)
Otimo artigo amigo, parabens.
Aconselho a pessoa a usar o PDO, alem de ter prepared statements essa função tambem conecta em qualquer banco de dados.
Um abraço.
Aconselho a pessoa a usar o PDO, alem de ter prepared statements essa função tambem conecta em qualquer banco de dados.
Um abraço.
16/02/2011 7:42pm
(~1 ano atrás)


disse:
$Login = preg_replace("/[<>'\"]/","",$_POST['login']);
Acharam boa?