Ir para conteúdo

POWERED BY:

Arquivado

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

Pdruu

[Resolvido] Bloquear campos para nao receber scripts

Recommended Posts

Alguem poderia me ajudar, estou com um problema em um formulario asp..

Tipo, o usuario preenche os campos so que ele consege inserir scripts ou tags dentro

do campo, como faço para bloquiar issu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve fazer um replace, mais ou menos como se trata o velho sql injection. Se você não quer permitir tags ou alterações de string, de um replace em tudo que você ache que não deve passar.

Por exemplo:

 

você recuperou um form e o resultado nome foi Request("nome") = "<p>Felipe</p>"

 

No replace, você recupera por exemplo: nome_form = REPLACE(Request("nome"),"<p>",""), ou seja, o <p> será substituido por nada.

 

O ideal seria você criar uma função pra "limpar" tudo, como:

 

nome_form = REPLACE(Request("nome"),"<p>","")

nome_form = REPLACE(Request("nome"),"</p>","")

nome_form = REPLACE(Request("nome"),"OR","")

 

e assim por diante e dentro de uma function se precisar

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano.. Num entendi muito bem mais vlw mesmo..

Eu tava querendo fazer com encode uri mais num to conseguindo!

se tu souber da uma ideia ai..

 

Vlwwww!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilizue esta função na hora de fazer o insert

 

Function RemoveHTMLTags(ByVal strHTML)
Dim objER
Dim strTexto
'Configurando o objeto de Expressão Regular
Set objER = New RegExp 
objER.IgnoreCase = True
objER.Global = True
objER.Pattern = "<[^>]*>"
'Substituindo as tags encontradas pela expressão
strTexto = strHTML
strTexto = objER.Replace(strTexto, "")
Set objER = Nothing
'Retornando a função
RemoveHTMLTags = strTexto
End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se é o que eu entendi que não é pra passar strings nem tags nos inputs faz o replace cara.

 

Você tem la:

 

<form .. >

<input name="nome">

</form>

 

Na hora de recuperar e jogar no bd, você não faz um Request dos inputs e joga nos campos do bd?

Então, depois de recuperar, faz o replace antes de enviar pro banco. Bem detalhado agora:

 

nome_completo = Request.Form("nome")

nome_semtags = REPLACE(nome_completo,"<p>","")

nome_semtags = REPLACE(nome_completo,"</p>","")

nome_semtags = REPLACE(nome_completo,"<b>","")

nome_semtags = REPLACE(nome_completo,"<br>","")

 

De preferencia isso dentro de uma função pra ficar mais organizado, mas basicamente você vai substituir as strings <p>, </p>, ou o que você quiser por nada ""

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe Tonolli.. Entendi cara, vlw msm..

Usei a função i fiz outra função pra bloquiar caracteres!

acho que assim vai resolver meu problema!!!

:joia:

Precisar.. Tamo aii.

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.