Atualizado em 26 de Setembro de 2014

Protegendo SQL contra Comandos Maliciosos

Olá pessoal,

Uma grande dica sobre segurança é: Nunca confie em nenhum dado que o usuário enviar. Em resumo esta dica que dizer que devemos validar toda e qualquer informação que o usuário envia para o nosso sistema.

Uma das maiores preocupações que o programador deve ter e com o SQL, pois se um usuário mal intencionado conseguir manipular o SQL ele poderá fazer varias coisas como o nosso sistema, desde: apagar dados, acessar áreas restritas do sistema sem ter o usuário e senha entre outras.

Para Proteger o SQL contra Comandos Maliciosos o PHP trás o comando addslashes que formata as aspas incluindo o caractere barra (/) antes de aspas, fazendo com que o caractere seja interpretado pelo SQL como um caractere especial como o símbolo das aspas.

Veja um exemplo:

<?php
$texto = "Aqui vem um texto com a'spas";

echo addslashes($texto);
//Resultado: Aqui vem um texto com a\'spas
?>

Já que as aspas são um grande problema no SQL, pois são elas que o SQL entende que finaliza um parâmetro e começa outro, basta usar este comando que seu SQL estará protegido.


Gostou do post, continue por dentro das dicas de programação!!! Assine a newsletter.


E isso aí pessoal, até a próxima.

Tags:  Comandos PHP | PHP | SQL

Comentários

Sua foto do perfil

Charles

15 de Janeiro de 2016 - 16:27

Sua foto do perfil

Mauricio Programador

Boa Charles,

Vou criar posts com estes comandos para ficar mais em evidência.

Obrigado pelo compartilhamento.

18 de Janeiro de 2016 - 16:04

Sua foto do perfil

Charles

Infelizmente nós desenvolvedores PHP (Não só nós mas muitas outras linguagens) sofremos com este mal que é o SQL Injetion, mas nada lhe impede de estudar como estes abestados fazem e você se previnir.

Tem muito site por ai que é barbada de acessar por causa de falta de estudo do desenvolvedor, preguiça e outros motivos mais.

18 de Janeiro de 2016 - 16:08

Sua foto do perfil

Mauricio Programador

Realmente alguns desenvolvedores facilitam o trabalhado de pessoas mal intencionadas pelo simples fato de ter preguiça de estudar.

Ainda mais nessa área que é tão dinâmica.

#estudo ;)

18 de Janeiro de 2016 - 16:08

Sua foto do perfil

Jeferson

03 de Maio de 2015 - 12:32

Sua foto do perfil

Mauricio Programador

Olá Jeferson,

O PDO já faz esta validação sozinho.

Esta técnica se aplica somente quando não usamos o PDO embora sempre e bom fazer este tipo de validação mesmo usando o PDO.

Abraço.

04 de Maio de 2015 - 10:02

Sua foto do perfil

Amarildo

03 de Janeiro de 2015 - 15:07

Sua foto do perfil

Mauricio Programador

Olá Amarildo,

estaria sim. Vou criar um post sobre esta função.

abraço.

05 de Janeiro de 2015 - 08:58

Sua foto do perfil

Eduardo Silva

26 de Setembro de 2014 - 14:35

Sua foto do perfil

Mauricio Programador

Olá Eduardo,

Claro que sim, vou dar um exemplo.

Existe uma técnica conhecida como SQL Inject, ela consiste em usar aspas simples para anular o SQL de validação que verifica se o usuário tem ou não permissão de acesso.

Caso você não use uma proteção no SQL como esta vista no post, através desta técnica posso acessar sua área restrita sem necessariamente ter usuário e senha.

Espero ter sido mais claro agora, qualquer coisa comenta ai.

Abraço.

29 de Setembro de 2014 - 08:40

Sua foto do perfil

Eduardo Silva

Agora sim, eu não sabia desta técnica... sou novato em sql. Obrigado pela dica, vou aplicá-la.
Um abraço,
Eduardo

30 de Setembro de 2014 - 08:46

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER