Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal tenho uma dúvida qto a gravação de dados... hoje eu utilizo uma função que eu fiz para gravar todos os dados convertidos na base, só que isso me gera alguns problemas com selects usando o like, por exemplo a palavra (disponível) no banco ele grava (dispon& i a c u t e ;vel) e no select que busca usando a letra "a" ele aparece, mas a palavra disponível não tema letra "a".... alguem utiliza um método seguro para fazer sql injection usando outra forma e que eu grave no banco a palavra correta, ou não tem jeito... Ou eu faço uma função onde ele tire todas os caracteres esperciais para a gravação, igual é usado em bancos, onde não tem letras acentuadas e tal...
Eu lancei esse item no mysql e o pessoal me reportou que ele mostra o que tá no banco mesmo...
e outra na função para devolver a consulta.
Como eu utilizo muito java script em páginas de consulta como iframe e tal... então tem caracter que as vezes da o erro... mas nesse caso eu nunca tive problemas com invação ou algo assim...
Se alguem puder me ajudar a eu definir um padrão de desenvolvimento correto e seguro fico grato..
Para gravar no banco
function string_banco ($string)
{
$string = trim ($string);
$string = addslashes ($string);
$string = htmlentities ($string);
if ($string == "") {$string = 'NULL';} else { $string = "'".$string."'"; }
return $string;
}
Para retorna a página
function string_pagina ($string)
{
// Função que retorna string apenas com submit
$string = unhtmlentities ($string); //Deixa o navegador interpretar e devolver o caracter correto
$string = stripslashes ($string);
return $string;
}
function unhtmlentities ($string)
{
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
return strtr ($string, $trans_tbl);
}
fico no aguardo
At.
Adriano
Carregando comentários...