Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou utilizando esta função contra injeções de SQL e gostaria de saber se apenas isso realmente protege:
function FilterText($str, $advanced = false) {
if ($advanced == true) {
return mysql_real_escape_string($str);
}
$str = mysql_real_escape_string(htmlspecialchars($str));
return $str;
}
E quais outros tipos de injeções estou vulnerável? Como poderia proteger?Ou então Mysqli, ja tem um desempenho bem melhor que o mysql_, e não tem tanta alteração na sintaxe, pra quem está acostumado com mysql, não muda muita coisa, e tem mais recursos de segurança.
você pode tratar as variáveis também com addslashes, onde a cada aspas ele insere uma barra '/'
Concordo com o Jerri e o Williams também.
Meu conselho é que você trabalhe com o PDO, pois a sintaxe é bem parecida entre o PDO e o Mysqli, porem o PDO trabalha com strings de conexão. Sendo assim, você vai trabalhar com qualquer banco de dados da mesma forma. Esta é a função do PDO, abstrair
De qualquer forma, o próprio PHP tem uma pagina sobre estas APIs, só não está traduzido
http://php.net/manual/en/mysqlinfo.api.choosing.php
Espero ter ajudado
Uma solução e usar PDO, mysql_ esta obsoleto.
Segue um slide com as principais vulnerabilidade
http://odesenvolvedor.andafter.org/publicacoes/seguranca-com-php-slides-_1421.html