Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera beleza?
Estou migrando uma aplicação de MYSQL para Postgres e agora queria saber de vocês como proteger o postgres de SQL Injection.
Eu usava no PHP: mysqli_real_escape_string.
No Postgres não sei nada mesmo! inclusive além de uma função desse gênero que citei(mysqli_real_escape_string), eu queria mais dicas de como proteger.
vlw e flw
Bom mano faz o seguinte:
Eu em particular gosto sempre de trabalhar no PHP ou com Vetores (array) ou Objetos então,
Minha dica é a seguinte:
>
$objDados = (object) array(
'usuario' => addslashes($_POST['login']),
'senha' => addslashes($_POST['senha'])
);
Nessa hora você criou um objeto com login e senha e deu escape em apóstofros, aspas duplas, barra invertida e vários outros.
Essa função funciona tanto para postgres quanto para mysql ou qualquer outro banco de dados que o PHP tenha suporte.
Mais informações sobre a função AQUI.
E depois faça sua query de verificação assim:
>
$sql = "SELECT * FROM <tabela> WHERE login = '$objDados->login' AND senha = '$objDados->senha'";
$rtn = pg_query($sql) or die (pg_error());
if((pg_num_rows($rtn) <= '0') || (pg_num_rows($rtn) > '1')){
//Erro ao efetuar login
}else{
//Usuário Altenticado
}
Espero ter ajudado.
Flws.
beleza, vou ver aqui se estas soluções atendem ao meu problema. Hoje possuo vários tipos de entrada de dados, campos de busca, a própria URL com a páginacao, mas na páginacao forço ser integer por isso se for uma string com SQL por exemplo vira 0.
O problema foi q troquei de bd, do mysql para postgres e me senti um pouco perdido no postgres. Por isso estou procurando soluções para os problemas q antes eu já havia solucionado.
Vlww caras..
volto em breve!
flw
De maneira bem simples e eficiente você pode dar um replace nas variaveis trocando ' por ''.
Lembre-se que quando for inserir no banco os valores do tipo string devem estar entre aspas simples.
Não esqueça também de limitar o tamanho da string senão pode dar erro na inserção.
[]'sss