Ir ao conteúdo

PHP Dica p/ enganar Sql injection


Ir à solução Resolvido por DiF,

Posts recomendados

Postado

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?

  • Moderador
  • Solução
Postado

@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
  • Moderador
Postado

@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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!