Retur 1 Denunciar post Postado Abril 22, 2016 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
Beraldo 864 Denunciar post Postado Abril 22, 2016 A melhor forma de se proteger contra SQL Injection é usando Prepared Statements Leia mais sobre essa e outras técnicas neste meu artigo Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Abril 22, 2016 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
ESerra 744 Denunciar post Postado Abril 22, 2016 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
lucaswxp 22 Denunciar post Postado Abril 22, 2016 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
ESerra 744 Denunciar post Postado Abril 22, 2016 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
lucaswxp 22 Denunciar post Postado Abril 22, 2016 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
ESerra 744 Denunciar post Postado Abril 23, 2016 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
lucaswxp 22 Denunciar post Postado Abril 23, 2016 Não é questão de crença, só estou curioso em como mysql_real_escape_string é inseguro? Na realidade, nunca usei mysql_real_escape_string em produção. Compartilhar este post Link para o post Compartilhar em outros sites