Foros del Web » Programando para Internet » PHP »

No grabar mensajes con enlaces

Estas en el tema de No grabar mensajes con enlaces en el foro de PHP en Foros del Web. Hola amigos. En mi web, hay un libro de visitas, que a veces, algunos visitantes graban mensajes con enlaces. Lo que quiero es que, antes ...
  #1 (permalink)  
Antiguo 20/12/2010, 14:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
No grabar mensajes con enlaces

Hola amigos.

En mi web, hay un libro de visitas, que a veces, algunos visitantes graban mensajes con enlaces.

Lo que quiero es que, antes de grabar el mensaje (con php), poder comprobar si es un enlace, para que no se grabe.

No se si conoceis por ahí algun codigo o alguna funcion que reconozca si un texto tiene un enlace, por ejemplo.

A ver si me podeis ayudar. Gracias. Un saludo.
  #2 (permalink)  
Antiguo 20/12/2010, 15:22
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: No grabar mensajes con enlaces

Saludos

Podrias realizarlo con una expresion regular.

Código PHP:
Ver original
  1. function validate_url($url)
  2. {
  3.     return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
  4.  
  5. }

Fuente: Click Aqui
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 20/12/2010, 15:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
Respuesta: No grabar mensajes con enlaces

Hola. Gracias por tu respuesta, pero no entiendo que debo hacer. Quiero decir.

Si soy un visitante y voy a introducir este texto

"Quiero meter este <a href="enlace.php">Enlace</a>. Ya lo he conseguido".

Lo que quiero es evitar que este texto se pueda meter, es decir, que antes del insert into, pare la introducción porque lleva un enlace.

Perdona la torpeza, pero es que no lo entiendo.
  #4 (permalink)  
Antiguo 20/12/2010, 17:05
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: No grabar mensajes con enlaces

Saludos

Se me acaba de ocurrir otra idea mas rapida

Código PHP:
Ver original
  1. //Tienes por ejemplo esta cadena
  2. $var= "Quiero meter este <a href='enlace.php'>Enlace</a>. Ya lo he conseguido";
  3. if (strstr($var,"href"))
  4.            echo "palabra con link";
  5.         else
  6.             echo "tablas sin  link";

Seria que lo probaras si la frase indicada tiene la frase href
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 20/12/2010, 18:45
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 2
Respuesta: No grabar mensajes con enlaces

Creo que necesitas usar strip_tags aqui te dejo la referencia del manualpara que sepas como usarla
http://php.net/manual/es/function.strip-tags.php
__________________
Saludos!
Mty-NL..
  #6 (permalink)  
Antiguo 21/12/2010, 15:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
Respuesta: No grabar mensajes con enlaces

Hola Nano. Con tu solucion ha ido perfecto.

Para el que le sirva, me ha quedado asi

Código PHP:
Ver original
  1. if (strstr($_POST['mensaje'],"href"))
  2.  //Es un enlace
  3.  $var = 1;
  4. else
  5.  //No es un enlace
  6.  $var = 0;
  7.  
  8. if ($var == 0)
  9. Grabo los datos

Gracias por la ayuda. Un saludo.
  #7 (permalink)  
Antiguo 21/12/2010, 15:20
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: No grabar mensajes con enlaces

Saludos

Que bueno que te halla servido.


Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #8 (permalink)  
Antiguo 21/12/2010, 19:36
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: No grabar mensajes con enlaces

Una pregunta, sin intenciones de molestar a nadie . ¿Y si el usuario ingresa un mensaje con la palabra "href", sin necesidad de ser un link?
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 21/12/2010, 20:36
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: No grabar mensajes con enlaces

Saludos


pues mmmmmm buena pregunta ejejejeeje ...Pensandolo bien que palabra puede estar compuesta por href? mmmm o igual se podrian agregar otras reglas de busqueda que tenga <a o </a>
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Etiquetas: enlaces, grabar, mensajes
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 22:25.