Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

SQL injection!

É preciso fazer para todas as variáveis? Há alguma maneira de generalizar?

$preco, $descricao, $categoria_id, $usado
$nome = mysqli_real_escape_string($conexao,$nome);
4 respostas

Sim, desse modo que esta sendo feito deve ser tratado uma a uma. Para você conseguir tratar crie um método de tratamento de sql injection e passe uma unica variável com todos os valores necessários.

Obrigado, existe algum modelo desse método de tratamento?

Obrigado

Você mesmo pode criar ele, faça um método que receba um array e este método percorre todas as posições do array e trata cada posição. quando terminar de tratar cada posição do array retorna o array modificado.

solução!

ficou muito confuso, hehehhehehe

fica mais ou menos assim, você pode melhorar esse método.

/*
 * Recebe: Mixed
 * Retorna: Mixed
 * Autor: Fernando Caetano Campos
 * Trata sql injection com php
 */

function trataSQLInjection($valor){
    if(is_array($valor)){
        $count = count($valor);
        for($i=0;$i>=$count-1;$i++){
            $valor[$i] = addslashes($valor[$i]);
        }
        return $valor;
    }
    return addslashes($valor);
}