quinta-feira, 11 de julho de 2013
Caracteres Especiais PHP - mysql_real_escape_string
Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
Ex:
$sql = sprintf("INSERT INTO tabela (id,descricao)
VALUES ('%s','%s')",
mysql_real_escape_string($id),
mysql_real_escape_string($descricao),
mysql_query($sql);
}
mysql_real_escape_string poderá lhe ajudar em muita coisa, como fugir do erro da inserção do apostrofo, mas não lhe garante em um SQL injection.
Para isso use preg_replace, assim você irá escapar dos caracteres \ %, que podem ser usados em um SQL injection.
$param = preg_replace( '/\\\\/u', '\\\\\\\\', $param );
$param = mysql_real_escape_string($param);
$param = preg_replace( '/([%_])/u', '\\\\$1', $param );
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário