Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jair Humberto

como aumentar a segurança no mysql

Recommended Posts

olá pessoal,

 

como maximizar a segurança de um aplicação? Como é feita essa SQL injection? e como posso evitar?

Se eu tratar todos os dados recebidos de formularios, por uma linguagem server-side, eu elimino o risco de

SQL injection?

Gostaria de aumentar a segurança de minha aplicação

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma coisa simples que voce pode fazer eh o seguinte, todo INSERT DELETE UPDATE sao feitos por stored procedure e existe um usuario para isso e esse usuario soh faz isso.

 

Os select sao todos views feitas por você q ficam em um banco q eh o unico ao qual os usuarios tem acesso , o q eh otimo pra segurar desenvolvedor topera

 

 

Sql Injection eh quando você taca or 1=1 (existem outros) no meio do select abrindo todas as portas e retornando todas as linhas

 

exemplo:

 

select * from tabela where id=$id_desejado

 

aih nego vem e diz $id_desejado = 3 or 1=1

 

resultando na query

select * from tabela where id= 3 or 1=1

 

como 1 eh sempre igual a 1 ele tras a tabela toda

 

a defesa pra isso pode ser feita atraves de stored procedures ou via programaçao mesmo, no php por exemplo temos o mysql_real_escape_string()

Compartilhar este post


Link para o post
Compartilhar em outros sites

No PHP, uma otima maneira de evitar SQL injection é usando o sprintf() + mysql_real_escape_string(). E claro, todo dado que vem de fora deve ser tratado. Você pode não sofrer de sql injection, mas uma pessoa pode colocar no campo de mensagem <iframe src="http://outrosite/script_malicioso.php"></iframe> e se você permite que a mensagem seja enviada dessa maneira, quando a pessoa da outra ponta abrir, uma outra página vai abrir dentro da sua página, podendo roubar cookies, e outras coisas. Por isso existem as funções de 'sanitização' (sanitizing) que retiram ou modificam dados que poderiam ser danosos, e fazer um parse neles para que tudo fique seguro.

Outra coisa que pode usar também é um .htaccess, onde você pegando o QUERY_STRING, pode checar por comandos SQL inline (GET), e bloquear eles, levando o usuário para uma página de 404 por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.