Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Skeletron en 3 Marzo 2010, 20:06 pm



Título: Ejemplo practico de ob_start()
Publicado por: Skeletron en 3 Marzo 2010, 20:06 pm
Recien observaba aqui: :http://www.php-es.com/function.ob-start.html

Y digamos que es la primera vez que escucho hablar de esa funcion.

Podria usar esa funcion para evitar XSS?
Digamos que, al terminar el codigo de la web, llamo al end ob, y que la funcion haga un ECHO htmlentities($bufer); así se evita XSS de cualquier tipo...

Espero su recomendacion :)


Título: Re: Ejemplo practico de ob_start()
Publicado por: raul338 en 4 Marzo 2010, 01:16 am
No entiendo que tiene que ver esa funcion con XSS, o sea, no vas a poner un XSS directo en tu pagina, ya que eso lo que hace es imprimir en la salida, por lo que no convendria analizar los datos ahi


Título: Re: Ejemplo practico de ob_start()
Publicado por: Skeletron en 4 Marzo 2010, 04:07 am
:O
Pero tio... eso reemplaza los caracteres que pueden llegar a dar un ataque XSS...

Si a todo el texto de salida le aplico el htmlentities(), se reemplanzan esos caracteres (los que harían el XSS)...


Título: Re: Ejemplo practico de ob_start()
Publicado por: WHK en 4 Marzo 2010, 04:21 am
no, no es práctico para evitar xss porque es lo mismo a tener una variable get o post con el buffer del contenido y si vas a filtrar toda la web completa mejor usa sistemas como phpids que usa reglas en expresiones regulares.

ob_start() sirve para iniciar la obtenciónd el buffer y te lo debuelve si se lo pides con ob_ get_ contents.

Generalmente se usa para manipular todo un contenido como si estubieras imprimiendo el contenido pero realmente se va a un buffer.

de hecho php lo hace por defeto solo que cuando lo redeclaras se crea un nuevo objeto y se trabaja con el.

Te puede servir como para cosas como esta:
http://foro.elhacker.net/nivel_web/pcu_como_modificar_el_footer_de_smf_incluyendo_el_copyright-t285208.0.html


Título: Re: Ejemplo practico de ob_start()
Publicado por: Baaaw Oic en 4 Marzo 2010, 04:33 am
Yo solo lo uso cuando uso el header() xD


Título: Re: Ejemplo practico de ob_start()
Publicado por: Skeletron en 4 Marzo 2010, 10:47 am
WHK, si hago un:
echo htmlentities(ob_ get_ contents);

??? No funcionaría?
O me imprimiría la web 2 veces?