Foros del Web » Programando para Internet » PHP »

Check si existen tags en el campo del formulario

Estas en el tema de Check si existen tags en el campo del formulario en el foro de PHP en Foros del Web. Estoy validando información que el usuario introduce en un formulario y para evitar que este introduzca código malintencionado utilizo la función strip_tags; pero me gustaria ...
  #1 (permalink)  
Antiguo 09/03/2010, 11:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Check si existen tags en el campo del formulario

Estoy validando información que el usuario introduce en un formulario y para evitar que este introduzca código malintencionado utilizo la función strip_tags; pero me gustaria comprobar previamente si dicho campo contiene tags para de esa forma mostrarle al usuario el error de "Formato Incorrecto". Por tanto, ¿Existe una función para comprobar si existen tags en un campo?

También tengo entendido que si se utiliza la función strip_tags previa inserción en la DDBB, no hace falta utilizar la función htmlspecialchars() para el formateo del texto puesto que las etiquetas html no existen. Pero que ocurre con las comillas simples y dobles? Hay que convertirlas para evitar que se rompa la página. En vez de utilizar la función htmlspecialchars() existe alguna más rápida y especifica para tal fin?

Grácias de antemano!!
  #2 (permalink)  
Antiguo 09/03/2010, 11:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Check si existen tags en el campo del formulario

Podrías crear una función que verifique la información usando Expresiones Regulares. También te sugiero que para evitar cualquier otra cosa, usa la función mysql_real_escape_string. Esto evitará toda inyección SQL.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/03/2010, 12:08
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Check si existen tags en el campo del formulario

¿Conoces de alguna función para realizar dicha verificación ( tags )?

Si, utilizo las dos funciones para insertar información en la BBDD. :)

Pero que me dices del formateo en pantalla?
[QUOTE=cocodj69;3315307]
También tengo entendido que si se utiliza la función strip_tags previa inserción en la DDBB, no hace falta utilizar la función htmlspecialchars() para el formateo del texto puesto que las etiquetas html no existen. Pero que ocurre con las comillas simples y dobles? Hay que convertirlas para evitar que se rompa la página. En vez de utilizar la función htmlspecialchars() existe alguna más rápida y especifica para tal fin?
QUOTE]
  #4 (permalink)  
Antiguo 09/03/2010, 12:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Check si existen tags en el campo del formulario

Como te indique usa la función mysql_real_escape_string para evitar lo que te indique. Vas a tener que crear una función que verifique si estan insertando las etiquetas de HTML.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 09/03/2010, 12:17
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Check si existen tags en el campo del formulario

Ten en cuenta q según el manual:
Código HTML:
Ver original
  1. Because strip_tags() does not actually validate the HTML, partial, or broken tags can result in the removal of more text/data than expected.
Y para las comillas q te preocupan, lo q te dicen arriba, mysql_real_escape_strings.

Pero bueno siempre te queda la opción de hacerlo manualmente, jejejeje
  #6 (permalink)  
Antiguo 09/03/2010, 12:19
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Check si existen tags en el campo del formulario

Si estás preocupado por q los tags se conserven para poder mostrar texto formateado en pantalla, creo q lo q te hace falta es htmlspecialchars. Puedes consultar el manual oficial http://php.net/manual/en/function.htmlspecialchars.php
  #7 (permalink)  
Antiguo 09/03/2010, 12:21
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Check si existen tags en el campo del formulario

Esta claro que puede utilizar la funcion mysql_real_escape_String() para el formateo también!! :)

Esta bien! Intentaré crear una función para evitar tags!! Me aseguraré de no dejar que la función strip_tags elimine texto necesario :)

Grácias!
  #8 (permalink)  
Antiguo 09/03/2010, 12:24
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Check si existen tags en el campo del formulario

podrías crear una función similar a esta, donde se lo pasarías a cada dato que va a interactuar con tu BD:

Código PHP:
public function set_secure($string){ 
        if(
is_string($string)){
            
$string trim(htmlentities($string));
            
$string stripslashes($string);
            
$this->cadena mysql_real_escape_string($string);
            return 
$this->cadena;
        }
     } 
//************************************
$nombre$db->set_secure($_POST['nombre']); 
__________________
Quitenme la vida pero no la bebida.
  #9 (permalink)  
Antiguo 09/03/2010, 12:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Check si existen tags en el campo del formulario

Gracias!

Buena función para realizar el checkeo pero necesito comprobar si existen tags dentro de la cadena de texto!! No quiero introducir información malintencionada en la BBDD. Investigaré a ver que encuentro!
  #10 (permalink)  
Antiguo 09/03/2010, 12:40
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Check si existen tags en el campo del formulario

¿Y si existen q vas a hacer? ¿Quitarlas? strip_tags ¿Convertirlas a los equivalentes entidades HTML? htmlspecialchars.
Es que no veo la necesidad de averiguar primero si hay tags dentro de la cadena de texto. ¿Porqué hacer doble el proceso?
  #11 (permalink)  
Antiguo 09/03/2010, 13:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Check si existen tags en el campo del formulario

Yo si le veo sentido el quitar las tags previa inserción. Simplemente por el hecho de tener saneada la DDBB. Por supuesto que se puede aplicar la funcion htmlspecialchars() al formatear la info, sin necesidad de aplicar strip_tags, pero supongo que será al gusto del que lo programa. Aunque ya te digo, ya hago hincapié en ello, prefiero tener la información saneada para así evitar posibles problemas en el futuro. No se si la gente estará de acuerdo conmigo??
  #12 (permalink)  
Antiguo 09/03/2010, 13:40
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Check si existen tags en el campo del formulario

Yo también estoy de acuerdo contigo, pero lo que según entiendo de tus post, primero quieres averiguar si hay etiquetas ¿no? ¿Para luego quitarlas? ¿porqué no quitarlas desde el principio y listo? No más proceso ni complicaciones para ello.
No pretendo ofenderte, solo creo q es más trabajo de la cuenta
saludines
  #13 (permalink)  
Antiguo 09/03/2010, 13:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Check si existen tags en el campo del formulario

No me ofendes, tranquilo!! Estamos aquí para aprender y tratar de ayudarnos mutuamente!! :)

El hecho de querer comprobar si existen tags previamente es para que en ese caso, como he dicho en alguno de los previos posts, informar al usuario de que la información introducida es incorrecta y de esa forma que a posteriori no se encuentre con cambios respecto a los datos introducidos; aunque claro esta que si algun usuario introduce tags y el script los borra sin previo avisó no supondrá ningún problema por que ese usuario ya no es incipiente y sabe lo que esta sucediendo. Se supone que un usuario con buenas intenciones no introducirá en ningún momento tags pero por algun motivo podría darse el caso y parte de la información que introdujo podría ser eliminada por dicha función

La cuestión es si vale la pena o no informar al usuario de que existen tags ( INFORMACIÓN INCORRECTA ) o por el contrario, aplicar la función strip_tags y quitarlas!!

No se que pensarás al respecto??
  #14 (permalink)  
Antiguo 09/03/2010, 14:08
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Check si existen tags en el campo del formulario

Yo q tú coloco una especie de cartel alertando q se prohibe el uso de tags HTML (o de determinados de ellos, puedes permitir algunos mediante un segundo parámetro a strip_tags) y YA LE INFORMÉ jejejejeje.
De todas formas, si tienes alguna aplicación que maneje alguna especie de libro de visitas o algo parecido, sería bueno permitir algunos tags, por ejemplo p,span,etc.
Lo q tendrías que hacer es validar que se abran y cierren correctamente, por medio de una función q hagas. Creo haber visto por ahí alguna q otra para esto, reviso y te aviso
  #15 (permalink)  
Antiguo 09/03/2010, 14:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 220
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Check si existen tags en el campo del formulario

Indagaré un poco más y si lo veo bastante rebuscado me limitaré a utilizar la funcion strip_tags en su totalidad, sin permitir ningún tipo tags en absoluto puesto que utilizo simples campos de texto en los cuales no hace falta html tags.

oK. Si encuentras ya me avisas... Yo haré lo mismo

Un saludo

Etiquetas: tags, formulario, 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 23:29.