Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/11/2004, 23:30
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Lo mejor es que no permitas código HTML... sino algunas etiquetas tipo BBCode que puedes controlar fácilmente para dar formato.
Todo el texto lo pasas por una función que convierta los tags HTML como htmlentities() o htmlspecialchars()... y luego cambias los tags propios por los htmls que sí quieres mostrar.

O sea,primero limpias todo el HTML y luego conviertes tus tags propios en HTML. De esa manera el usuario sólo podrá insertar el HTML que esté permitido en tus tags. Y si inserta html, el navegador lo mostrará como código.
Te pongo un ejemplo muy simple:
Código PHP:
$texto "Este texto contiene tags <b>html</b> y [negrita]mis propios tags[/negrita]";
$texto htmlentities($texto);
$texto str_replace("[negrita]""<b>"$texto);
$texto str_replace("[/negrita]""</b>"$texto);
echo 
$texto
Verás que el html que ingresa el usuario no le sirve... simpemente servirá lo que formatee con tus etiquetas... y de eso sí tienes control.

Saludos