Impedir scripts

Iniciado por Kizar, 17 Abril 2007, 00:22 AM

0 Miembros y 1 Visitante están viendo este tema.

Kizar

Bueno, dentro de un sistema que estoy haciendo he puesto para que se puedan poner mensajes, como les puede poner todo el mundo me gustaria que no se puediera escribir codigo de ningun tipo, solo texto, que no se pueda ni JS, ni html, ni ningun otro lenguaje que el navegador pueda interpretar...
He buscado pero no encontre nada en este foro, no se si busque con las palabras adecuadas...

Thaorius

$resultado = htmlentities(htmlspecialchars($entrada));

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

Kizar

#2
Funciona bien pero solo hay que usar una de las dos funciones.
Habria alguna forma de que todo el codigo html se quitara?

alone-in-the-chat

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

Ertai

Usa la que te comenta alone, es la mejor
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

SERBice

http://ar.php.net/manual/es/function.strip-tags.php

http://ar.php.net/manual/es/function.htmlentities.php
http://ar.php.net/manual/es/function.htmlspecialchars.php

Cita de: Ertai en 17 Abril 2007, 22:24 PM
Usa la que te comenta alone, es la mejor

yo creo qeu si lees un poco el manual de PHP verás que strip_tags no es mejor, además si solo quiere DEJAR SIN EFECTO los tags HTML, per si mostrarlos en el caso de qe sea algún tipo de foro strip_tags no le servirá

alone-in-the-chat

y que recomiendas??  :D

o pusiste el post solo para decir que no??

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

SERBice

no pued decirle "usa esto" o "usa aquello", como recomendacion le puedo decir que evalue que es lo que necesita. Si necesita mostrar el codigo, pero que no actue como tal qe use

http://ar.php.net/manual/es/function.htmlentities.php

y/o

http://ar.php.net/manual/es/function.htmlspecialchars.php

en cambio, si solo quiere suprimir el codigo, y esta segudo de que el mismo esta bien formado que use

http://ar.php.net/manual/es/function.strip-tags.php

aunqeu hay que tener en cuenta la advertencia de php.net al usar strip_tags:

Citar

Aviso
La función no valida el código HTML pasado, asi que puede suceder que si existen etiquetas HTML mal construidas o no cerradas, el resultado puede presentar texto y datos eliminados.

Citar

Aviso
Debe tenerse en cuenta que la funció no modifica los atributos de las etiquetas que se permiten mediante el parámetro etiquetas_permitidas, por lo que un usuario con malas intenciones podrí incluir atributos como style y onmouseover cuando envía información a sitios como un foro de discusión.

Ertai

Si lees bien el primer post, verás que se pide la eliminación de TODAS las etiquetas. Solamente texto.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

SERBice

bueno, si nos ponemos en rompebolas y lebuscamos la quinta pata al gato puedo decirte que el pide "que no se peuda escribir codigo", y con strip-tags y las otras funciones lo que se ahce es quitar o "no interpretar" el codigo, pero d ningun modo impide que el miso sea ingresado. para impedir la escritura en tiempo real habria que usar JS y hacer una buena rutina que compruebe si se esta escribiendo codigo.....

en fni, como ya dije, si nos ponemos e detallistas y rompe bolas ninguna de las funciones de php serviria, porque segun KiZaR el quiere "que no se puediera escribir codigo de ningun tipo, solo texto"-

Ertai, no molestes cn posts que no aportan nada, no quieras tener la razón "porque si", KiZaR usará la funcion que mas le convenga. No hay necesidad de desacreditar mi post con rebusques complicados. y por fvor, no repliques mi respuesta, oprque este hilo no es un debate, estamos apra ayudarnos entre todos, yo ya he aoprtado mi granito de arena, tu el tuyo, ya esta... no hace falta seguir agrandando este hilo con debates de "que quiso o no decir".

PD: Vuelvoa  recalcar que strip_tags es "menos segura" en cuato a su funcionamiento ya que puede fallar si la etiqueta no fue cerrada o si es uan etiqueta rara o no cnovencional, tal como lo dice en php.net.