Ir para conteúdo

Arquivado

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

jawd-webdesign

Validar entradas

Recommended Posts

Olá pessoal.Eu tenho um form com muitos campos input text e textarea. Gostaria de saber como posso evitar que alguem entre com comandos html e outros que possam danificar o meu banco de dados.Obrigado a todos que responderem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha que eu saiba mesmo que alguém insira comandos html dentro de um text que vá para o bando de dados isto não danifica teu banco porque o campo entende que todo o conteudo que está contido nele é texto e não reconhece comandos. Mas se dentro de um campo texto existir comandos e você tirar de dentro do banco ai sim dependendo se for html oou até algum script se colocar em um arquivo irá funcionar.Portanto a informação que ir para o banco é simplesmente texto.Falou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

para evitar comandos html use strip_tags(), comandos html pode nao danificar o banco mas pode danificar todo seu layout da sua pagina

 

e evite tbm comandos sql injection , tem uma função que eu fiz no laboratorio de scripts

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu havia dito eu tenho um form com muitos campos input text e textarea que são utilizados.Eu vi uma função que você Fabyo colocou aqui... function anti_injection($txt){$txt = get_magic_quotes_gpc() == 0 ? addslashes($txt) : $txt;return preg_replace("@(--|\#|\*|;|=)@s", "", $txt);}Utilizando ela para receber todos os dados dos meus campo input texts e textareas, quando estes dados são para serem inseridos e quando forem utilizados para uma consulta, resolve o meu problema?E se o usuário entrar com dados como comandos html é só usar strip_tags() para retirar os dados quando for "mostrar" na tela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

só para esclarecer a função strip_tags elimina as tags html, a htmlspecialchars apenas converte para HTML entities

 

exemplo:

 

echo htmlspecialchars("<b>Teste</b>");
resultado = [b]Teste[/b]

echo strip_tags("<b>Teste</b>");
resultado = Teste

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Fabyo eu tentei usar esta sua função...function anti_injection($txt){$txt = get_magic_quotes_gpc() == 0 ? addslashes($txt) : $txt;return preg_replace("@(--|\#|\*|;|=)@s", "", $txt);}Mas infelizmente não funciona. Acho que é a versão do php...você tem outra que faça a mesma coisa que esta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

get_magic_quotes_gpc

(PHP 3>= 3.0.6, PHP 4 , PHP 5)

 

addslashes

(PHP 3, PHP 4 , PHP 5)

 

preg_replace

(PHP 3>= 3.0.9, PHP 4 , PHP 5)

 

como você mesmo viu as função nao tem problema nenhum sobre a versao do php

 

mas fala ai que erro que deu, ou porque você acha que nao funcionou

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque esse erro é porque o php nao esta encontrando a função, verifica se esta tudo certo se a função esta realmente incluida ou se o nome da função foi digitado corretamente etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho...Estou fazendo assiminclude "../funcoes.php";A pagina onde quero usar a função esta numa pasta chamada boleto.Fatal error: Call to undefined function: anti_injection() in /home/votarcerto/www/boleto/boletos.php on line 13O que estou fazendo de errado?Estou fazendo do mesmo modoinclude "../conecta_meusite.inc";e consigo acessar este arquivo.Por que não estou conseguindo com a página das funções?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a função anti_sqlinjection esta nesse script "funcoes.php" ?, e esse script esta nessa pasta mesmo onde você esta chamando ele?

 

esse erro é porque o php nao esta encontrando a função

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.