Ir para conteúdo

Arquivado

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

Retur

Sql Injection

Recommended Posts

Estou com uma duvida,usando as funções a seguir,me ajuda a proteger do sql injection ou ainda continuo vulnerável.

 

strip_tags(trim(addslashes(htmlspecialchars($variavel))));

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é uma boa ideia usar addslashes porque não é multibyte-safe, vai com o que Beraldo disse e use Prepared Statements que você nunca mais terá que se preocupar com SQL injection.

 

Se ainda sim quer usar uma função, se você está no mysql, a única opção segura é mysql_real_escape_string. O problema de usar função é que é muito fácil você se esquecer em algum momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ainda sim quer usar uma função, se você está no mysql, a única opção segura é mysql_real_escape_string. O problema de usar função é que é muito fácil você se esquecer em algum momento.

O problema neste caso é que a função citada não barra sql injection, já que nem todos os ataques dependem das aspas, que é a única coisa que é afetada pela função supracitada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema neste caso é que a função citada não barra sql injection, já que nem todos os ataques dependem das aspas, que é a única coisa que é afetada pela função supracitada.

 

@ESerra Você fala do addslashes ou mysql_real_escape_string?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A única diferença entre o addslashes e o mysql_real_escape_string é que o segundo escapas as aspas e salva a string original no BD, já a primeira escapas as aspas e salva os dados com as barras no BD, ou seja, na práticas ambas fazem exatamente a mesma coisa no quesito "anti" sql injection.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_real_escape_string também leva em consideração o charset do banco de dados, que é a razão do addslashes ser inseguro para escapar os dados.

 

Aqui tem um artigo demonstrando como efetuar o hack do addslashes, que não é possível com a função mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_real_escape_string também leva em consideração o charset do banco de dados, que é a razão do addslashes ser inseguro para escapar os dados.

 

Aqui tem um artigo demonstrando como efetuar o hack do addslashes, que não é possível com a função mysql.

Se você acha que isto é suficiente, ok... cada um acredita no que quer...

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.