Discriminar código html en formularios

19/01/2008 - 17:24 por José M. Sánchez | Informe spam
Hola amigos, recurro a vosotros porque yengo hecha una página de opinion:

http://www.alfeizar.net/tuopinion.ASP

pero hay alguien que me mete código, de cara a hacer publicidad, muchas
veces pornográfica y peor.
Si accedeis al link, habrá puesto ya unas cuantas.

El caso es que lo he intentado filtrar con las validaciones que tiene
frontpage, tipo:
<!--webbot bot="Validation" s-display-name="¡¡¡ PROHIBIDO PUBLICIDAD
ENGAÑOSA !!!...
y demas, y no lo consigo.

Tambien , en la página deonde recibe el request, he intentado cosas como:

if Request("comentario") LIKE "<a" then
Response.Redirect al formulario.

Posiblemente ya lo habreis tratado (hace tiempo que no vengo por aqui), por
lo que podeis indicarme el link del foro o subforo.

Podeis ayudarme? Me interesa tener una secciónm de opinión, pero libre y
respetuosa, y no con cosas raras.

Gracias por adelantado.

Preguntas similare

Leer las respuestas

#1 urko binarya
21/01/2008 - 11:41 | Informe spam
yo utilizo una funcion
function palabrasmalas(textomirar)
existepalabra=0
dim banned, final, i
banned = array("Content", "Type", "Content-Transfer-Encoding",
"Encoding", "Transfer","multipart", "text/plain",
"Outlook","X-Mailer","Postman")
for i = 0 to uBound(banned)
existe=InStr(lcase(trim(textomirar)),lcase(trim(banned(i))))
if existe>0 then
'response.write(textomirar&"ESIXTE="&existe&" "&banned(i)&"<br/>")
existepalabra=1
exit for
end if
next
palabrasmalas=existepalabra
end function

aunque la he modificado para que las palabras a mirar esten en una tabla de
BD
en banned = array("Content", "Type", puedes añadir las que te parezcan
incorrectas,
si existe alguna palabra incorrecta tambien me mando un email con la ip del
susodicho.
te recomiendo tambien que entre las palabras a mirar pongas aparte de los
tag que hay, tags htmls
y lo mas importante palabras de acceso a BD tales como "select, where, or
..."
tambien le podrias bannear escribiendole una coockie, y aunke meta luego
datos correctos
no dejarle enviar datos

saludos
urko




"José M. Sánchez" escribió en el mensaje
news:
Hola amigos, recurro a vosotros porque yengo hecha una página de opinion:

http://www.alfeizar.net/tuopinion.ASP

pero hay alguien que me mete código, de cara a hacer publicidad, muchas
veces pornográfica y peor.
Si accedeis al link, habrá puesto ya unas cuantas.

El caso es que lo he intentado filtrar con las validaciones que tiene
frontpage, tipo:
<!--webbot bot="Validation" s-display-name="¡¡¡ PROHIBIDO PUBLICIDAD
ENGAÑOSA !!!...
y demas, y no lo consigo.

Tambien , en la página deonde recibe el request, he intentado cosas como:

if Request("comentario") LIKE "<a" then
Response.Redirect al formulario.

Posiblemente ya lo habreis tratado (hace tiempo que no vengo por aqui),
por lo que podeis indicarme el link del foro o subforo.

Podeis ayudarme? Me interesa tener una secciónm de opinión, pero libre y
respetuosa, y no con cosas raras.

Gracias por adelantado.


Respuesta Responder a este mensaje
#2 Matias Iacono
24/01/2008 - 17:57 | Informe spam
En todo caso, a esto, ademas puedes simplemente usar HTMLEncode para que
aquellos caracteres HTML que pudiera incluir la entrada del usuario no se
tomen como tal, sino, como simple texto.

Esto garantiza que no pueda incluir links, o imaganes. Que si bien el HTML
sera visible, no el tag como tal, ahorrandote un buen dolor de cabeza.

Un ejemplo: http://www.aspnut.com/reference/encoding.asp

Saludos.

Matías Iacono
Microsoft MVP
Orador Regional INETA
http://mvpfiles.spaces.live.com


"urko binarya" wrote:

yo utilizo una funcion
function palabrasmalas(textomirar)
existepalabra=0
dim banned, final, i
banned = array("Content", "Type", "Content-Transfer-Encoding",
"Encoding", "Transfer","multipart", "text/plain",
"Outlook","X-Mailer","Postman")
for i = 0 to uBound(banned)
existe=InStr(lcase(trim(textomirar)),lcase(trim(banned(i))))
if existe>0 then
'response.write(textomirar&"ESIXTE="&existe&" "&banned(i)&"<br/>")
existepalabra=1
exit for
end if
next
palabrasmalas=existepalabra
end function

aunque la he modificado para que las palabras a mirar esten en una tabla de
BD
en banned = array("Content", "Type", puedes añadir las que te parezcan
incorrectas,
si existe alguna palabra incorrecta tambien me mando un email con la ip del
susodicho.
te recomiendo tambien que entre las palabras a mirar pongas aparte de los
tag que hay, tags htmls
y lo mas importante palabras de acceso a BD tales como "select, where, or
"
tambien le podrias bannear escribiendole una coockie, y aunke meta luego
datos correctos
no dejarle enviar datos

saludos
urko




"José M. Sánchez" escribió en el mensaje
news:
> Hola amigos, recurro a vosotros porque yengo hecha una página de opinion:
>
> http://www.alfeizar.net/tuopinion.ASP
>
> pero hay alguien que me mete código, de cara a hacer publicidad, muchas
> veces pornográfica y peor.
> Si accedeis al link, habrá puesto ya unas cuantas.
>
> El caso es que lo he intentado filtrar con las validaciones que tiene
> frontpage, tipo:
> <!--webbot bot="Validation" s-display-name="¡¡¡ PROHIBIDO PUBLICIDAD
> ENGAÑOSA !!!...
> y demas, y no lo consigo.
>
> Tambien , en la página deonde recibe el request, he intentado cosas como:
>
> if Request("comentario") LIKE "<a" then
> Response.Redirect al formulario.
>
> Posiblemente ya lo habreis tratado (hace tiempo que no vengo por aqui),
> por lo que podeis indicarme el link del foro o subforo.
>
> Podeis ayudarme? Me interesa tener una secciónm de opinión, pero libre y
> respetuosa, y no con cosas raras.
>
> Gracias por adelantado.
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida