Ir ao conteúdo
  • Cadastre-se

PHP Dica p/ enganar Sql injection


Ir à solução Resolvido por DiF,

Posts recomendados

Olá programadores mirins!

 

É sabido que 99% das formas de invadir um sistema de senhas é injetando a operação lógica 'or' que faz com que o login libere o acesso mesmo o usuário não saiba a senha!

 

Nesta caso, a minha dica seria inserir a linha de checagem após o usuário confirmar o acesso:

 

$string = str_replace("or", "", $string);

 

Isto inibiria o uso do código malicioso, removendo a operação 'or' da string caso alguém tentasse burlar o acesso usando essa expressão.

 

O que acham dessa ideia?

Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

@xrogerinho Tem N formas de previnir SQL injection...  Por exemplo utilizando o preg_replace do php.... 

Exemplo:

 

$loginSeguro = preg_replace('/[^[:alpha:]_]/', '',$login);
$senhaSegura = preg_replace('/[^[:alnum:]_]/', '',$senha);

 

Ambos usam expressões regulares, onde o [:alpha:] é a mesma coisa que [a-zA-Z]   e  [:alnum:] é a mesma coisa que [a-zA-Z0-9]

Basicamente remove a possibilidade de colocar o  " OR  ‘ 1=’1 "

 

Outro método é utilizar o PDO..

O PDO utiliza "prepared statements" na formação das queries. Nada mais é que um template que irá ajudar a escrever uma instrução.

Por que isso ajuda a prevenir ataques de injeção de SQL? Como é um “template”, a estrutura nos permite saber onde exatamente irão entrar os valores para as nossas queries. 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador

@xrogerinho Exatamente. No caso de querer escapar algum caractere especial.. você pode implementar o preg_quote

 

Exemplo: 

$chars = preg_quote( '~`!@#$%^&*()_-+={}[]|:;<>.?/\\\\', '#' );
$regex = "#[$chars]+#";

 

Não sei se isso realmente funciona, pois nunca utilizei. Geralmente não permito caracteres especiais.. mas sei que tem alguns sites que exigem que coloque pelo menos um na senaha como  " ! " por exemplo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!