Jump to content

Duvida SQL Injection


Nuno Levezinho
 Share

Recommended Posts

Boas noites, tenho uma função que supostamente me 'protege e limpa' as variaveis contra sql injection, mas nao me parece funcionar our eu nao percebi o que ela faz.

function proteger($string){
  if(get_magic_quotes_gpc())
  {
    $string = stripslashes($string);
  }
  if (phpversion() >= '4.3.0')
  {
    $string = mysql_real_escape_string($string);
  }
  else
  {
    $string = mysql_escape_string($string);
  }
  return $string;
}

Se inserir numa caixa de texto algo como nam'ed, na forma protegida fica algo como nam\'ed, nao deveria ficar named ?

Link to comment
Share on other sites

A proteccao contra SQL injection serve para proteger a base de dados; nao para alterar os dados introduzidos pelo utilizador.

Se um gajo diz que se chama Mc'Donalds ... porque has-de escrever na base de dados McDonalds?

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

1. what pmg said.

2. Quem usa ainda uma versão de php inferior a 5 devia de ser condenado de negligência.

Eu já assumo que a versão usada pelo servidor é maior ou igual a 5.2

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

A versão do php do meu servidor é a 5.5

Isso só pode estar errado. Não há nenhum PHP 5.5. A última release estável é a 5.3.10, e a próxima (em estado RC neste momento) é a 5.4.0.

Nalgumas circunstâncias, o mysql_real_escape_string também pode deixar passar injecções (com o MySQL <5.0.22 era especialmente vulnerável).

As únicas maneiras absolutamente seguras de protecção contra SQLi são prepared statements ou não usar SQL.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.