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.
Comentários

Charles
15 de Janeiro de 2016 - 16:27

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

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

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

Jeferson
03 de Maio de 2015 - 12:32

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

Amarildo
03 de Janeiro de 2015 - 15:07

Mauricio Programador
Olá Amarildo,
estaria sim. Vou criar um post sobre esta função.
abraço.
05 de Janeiro de 2015 - 08:58

Eduardo Silva
26 de Setembro de 2014 - 14:35

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

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