Antes de engadir máis reescritura a un obtenedor en PHP, escolla a onde debe ir o seguinte recurso. Un documento obtido de https://destination.example/catalog/ e devolto en https://viewer.example/browse?url=... pode conter:

<img src="photo.jpg">
<a href="details/42">Details</a>

O navegador resolve esas referencias co documento que recibiu no visor. Que PHP obtivese os bytes orixinais non establece a base remota.

Un elemento base pode apuntar as URL relativas ao destino, pero esas solicitudes poden ir despois directamente do navegador ao destino. Manter cada solicitude a través de PHP esixe, no canto, URL de proxy e un modelo de encamiñamento máis amplo:

Recurso ou acciónTratamento necesario
Ligazóns e imaxesResolvaas contra o documento remoto e produza a ruta prevista
Importacións e recursos CSSUse a base remota da folla de estilo
FormulariosConserve o método e os datos enviados
RedirecciónsManteña a navegación dentro do modelo permitido
Solicitudes creadas por scriptsXestione as URL ausentes do HTML orixinal

Unhas cantas substitucións con expresións regulares non poden prometer compatibilidade xeral con sitios cargados de scripts. Para un documento público coñecido, quizais abonde desactivar a navegación, permitir ligazóns directas ou encamiñar un subconxunto admitido a través do visor. Conserve os tipos de medio reais en lugar de tratar cada resposta como HTML.

Devolver marcado non fiable desde o seu dominio tamén lle dá a orixe do navegador do visor, non a identidade do sitio obtido. Isole eses documentos das páxinas de conta e administración. Defina cookies remotas por visitante, cabeceiras permitidas de reenvío e destinos de redirección; un tarro de cookies compartido pode mesturar inicios de sesión remotos.

Comprométase con ese límite de soporte antes de ofrecer unha sesión de navegación. Para a navegación habitual por outra saída, a interface de proxy nativa do navegador, como a configuración HTTP/SOCKS de Firefox, conserva a URL de destino e o modelo de orixe do navegador sen necesidade desta capa de obtención e republicación. Para unha proba aparte de sitio público, a lista de proxies gratuítos fornece puntos finais candidatos; faga coincidir o protocolo na configuración do navegador.

Artigos relacionados