Na verdade não se deve deixar o servidor exibir erros padrão para o usuário final, como você disse deve-se tratar o erro e exibir uma mensagem amigável ao usuário. Acho que o uso do Try nesse caso poderia ser uma solução imediata.
no caso do delphi try Verifica Deu erro para pro except except Erro no login end Quanto a limitar o uso de caracteres no login e senha, eu já não gosto de colocar limitações para o usuário, mas aí é questão de gosto (ou necessidade da empresa talvez), nesses casos o que pesa pra mim é que o usuário leigo (que é o foco) vai ficar tentando digitar justamente aquele caractere que não pode, e vai vir correndo dizer que o sistema não funciona, rsrsrs Tratar esse detalhes na aplicação é o que demanda tempo... Marcelo Silva ----------------------------------------- From: Matheus de Oliveira Sent: Tuesday, August 07, 2012 9:21 AM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Tratamento de Contrabarra 2012/8/7 Marcelo Silva <marc...@ig.com.br> Por isso deve-se evitar conferir a senha no SQL O melhor é assim Select * From Login Where (login = ‘”+var_login+”’) // Confere se pegou o login if (Result > 0) Depois de Trazer o login faz um IF if (SuaQuery.SeuCampoSenha = VariavelSenha) Prossegue... Assim ele pode colocar a injeção que quiser no SELECT pois quem verifica a senha é o IF Ou seja, verifique o login e senha separadamente * Por que o uso de “( )” ? Isso evita injeção sem formatação, por exemplo a=b and c=d Se vc tiver um separador ele vai ter que formatar tamebm na injeção (a=b)and(c=d) Se ele colocar uma injeção em b ou d vai ficar (a=admin or 1=1; -- ')... Veja que vai falta fechar o ")" gerando um erro Claro que o cara vai tentar de tudo, mas vamos dificultar o máximo :) Não é a questão de testar a senha ou não via SQL, o que eu também não gosto, mas mesmo da forma que você passou um erro será gerado, e, se esse erro não for tratado corretamente o cara poderá ver esse erro e identificar a correção, daí é só o cara adicionar o parentese também. O ideal é tratar a string e evitar o erro. -- Matheus de Oliveira -------------------------------------------------------------------------------- _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral