Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Alex_bro en 31 Agosto 2007, 15:48 pm



Título: Reconocer urls externas en php
Publicado por: Alex_bro en 31 Agosto 2007, 15:48 pm
Buenas,
antes de nada dar gracias a los que participaron en mi anterior tema sobre Javacript para MD5... y decir que no busco que me hagan un script php, sino pistas para saber por donde empezar...
Lo que quiero hacer es una funcion php que al colocarla al final de cada archivo de mi pagina verifique si es un link hacia una pagina externa o interna, si es externa deberia modificarla al estilo de mipag.com/proxy.php?url=...
La historia es que no quiero pasar el texto de un comentario por ejemplo por la funcion para que modifique el enlace estaticamente, sino que lo modifique en la salida, para que si algun dia en la funcion decido cambiar la forma de tratar las urls se cambien todas.
Y ya luego tampoco deben ser tratadas las webs afiliadas, entonces tendria que hacer alguna especie de lista blanca en un txt con mi dominio y los dominios afiliados para que los dejara intactos no? o tal vez sea mejor hacer que la zona de la pagina donde se encuentran sea excluida? (creo que esta ultima idea complicaria las cosas...).

Saludos y gracias.
PD: ya busque sobre como reconocer urls con php... pero no encuentro nada.


Título: Re: Reconocer urls externas en php
Publicado por: дٳŦ٭ en 31 Agosto 2007, 20:19 pm
PHP se ejecuta en server, como sabrás no puede mandar el html y esperar a que el usuario "pique" un link. Tienes dos opciones, AJAX o mandar el enlace tipo enroutador.php?enlace=234

La ventaja de AJAX es que con un slo onclik regresas un window.location='url' y con el otro procedimiento tienes que recargar la página.

Suerte


Título: Re: Reconocer urls externas en php
Publicado por: Alex_bro en 31 Agosto 2007, 21:58 pm
La idea no es modificar el html del cliente, sino reemplazar las urls por otras del tipo proxy.php?url=http://url_que_ha_escrito_el_user, en php se debe poder por que es como cambiar por ejemplo una palabra en una cadena de texto  :-\ solo que para este caso se trata de buscar las <a href... y mirar el dominio buscando algo como http://(.*)/(.*) pero a lo php para saber si pertenece a miweb.com (no tocar el enlace) o si no lo es (cambiar por proxy.php...).

Saludos.


Título: Re: Reconocer urls externas en php
Publicado por: SeniorX en 1 Septiembre 2007, 00:11 am
es cosa de leer lo que ingreso el usuario, e ir viendo si hay algun link por ahi. Eso lo haces con expresiones regulares, buscando www. o http://, ftp://, .com, etc... ahi entra tu imaginacion en juego. Despues tomas el link completo y luego:
header("Location:proxy.php?url= el link completo del usuario");
Todo eso mientras la web no este en la lista blanca que quieres hacer. De se asi (else), no hagas nada.

Todo eso es bueno agruparlo en una funcion y luego hacer la llamada al metodo mediante: include(pagina con la funcion.php), o require(), etc etc.