Navegació del proxy web PHP: URL relatives, galetes i orígens
Planifiqueu les URL dels recursos, la navegació, les galetes i els límits d'origen quan convertiu l'obtenció amb PHP en un proxy web per al navegador.
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 imatges | Resoleu-los respecte al document remot i produïu la ruta prevista |
| Importacions i recursos CSS | Feu servir la base remota del full d'estil |
| Formularis | Preserveu el mètode i les dades enviades |
| Redireccions | Manteniu la navegació dins del model permès |
| Peticions creades per scripts | Gestionu 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.