Foros del Web » Programando para Internet » PHP »

Evitar inyecciones en campo de texto.

Estas en el tema de Evitar inyecciones en campo de texto. en el foro de PHP en Foros del Web. Tengo un campo de texto donde los usuarios ingresan datos, tengo evitadas las inyecciones de codigo MySQL y PHP pero los usuarios me agregan codigos ...
  #1 (permalink)  
Antiguo 07/12/2012, 10:19
Avatar de aguila_393  
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 406
Antigüedad: 16 años, 6 meses
Puntos: 1
Evitar inyecciones en campo de texto.

Tengo un campo de texto donde los usuarios ingresan datos, tengo evitadas las inyecciones de codigo MySQL y PHP pero los usuarios me agregan codigos HTML como por ej " <a href="loquesea"> TEXTO </a> , y quiero evitar que pase eso.

Queria armar una expresion regular para que si detecta que hay algo del estilo "<LOQUESEA> algo </LOQUESEA>

Directamente no lo guarde.

Como hago para armar la expresion, porque no se como hacer para que acepte cualquier caracter excepto los "<" y ">" .

O existe alguna manera mejor de hacer esto?

Saludos.
  #2 (permalink)  
Antiguo 07/12/2012, 10:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Evitar inyecciones en campo de texto.

Dependiendo del campo, una opción es usar htmlspecialchars a la hora de mostrar para convertir esos caracteres a entidades.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/12/2012, 11:05
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Evitar inyecciones en campo de texto.

No te sirve hacer un strip_tags ?
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: html, inyecciones, mysql, usuarios, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:46.