Abans d'afegir més reescriptura a un obtenidor PHP, trieu on ha d'anar el proper recurs. Un document obtingut de https://destination.example/catalog/ i retornat a https://viewer.example/browse?url=... pot contenir:

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

El navegador resol aquestes referències amb el document que ha rebut al visor. Que PHP hagi obtingut els bytes originals no estableix la base remota.

Un element base pot apuntar les URL relatives a la destinació, però aquestes peticions poden anar llavors directament del navegador a la destinació. Mantenir cada petició a través de PHP requereix en canvi URL de proxy i un model d'encaminament més ampli:

Recurs o accióTractament necessari
Enllaços i imatgesResoleu-los respecte al document remot i produïu la ruta prevista
Importacions i recursos CSSFeu servir la base remota del full d'estil
FormularisPreserveu el mètode i les dades enviades
RedireccionsManteniu la navegació dins del model permès
Peticions creades per scriptsGestionu les URL absents de l'HTML original

Unes quantes substitucions amb expressions regulars no poden prometre compatibilitat general amb llocs plens de scripts. Per a un document públic conegut, potser n'hi ha prou de desactivar la navegació, permetre enllaços directes o encaminar un subconjunt admès a través del visor. Preserveu els tipus de mitjà reals en lloc de tractar cada resposta com a HTML.

Retornar marcatge no fiable des del vostre domini també li dona l'origen del navegador del visor, no la identitat del lloc obtingut. Aïlleu aquests documents de les pàgines de compte i administració. Definiu galetes remotes per visitant, capçaleres permeses de reenviament i destinacions de redirecció; un pot de galetes compartit pot barrejar inicis de sessió remots.

Comprometeu-vos amb aquest límit de suport abans d'oferir una sessió de navegació. Per a la navegació ordinària per una altra sortida, la interfície de proxy pròpia del navegador, com ara la configuració HTTP/SOCKS del Firefox, preserva l'URL de destinació i el model d'origen del navegador sense necessitat d'aquesta capa d'obtenció i republicació. Per a una prova separada de lloc públic, la llista de proxys gratuïts proporciona punts finals candidats; feu coincidir el protocol a la configuració del navegador.

Articles relacionats