Innan du lägger till mer omskrivning i en PHP-hämtare, välj vart nästa resurs ska gå. Ett dokument som hämtats från https://destination.example/catalog/ och returnerats på https://viewer.example/browse?url=... kan innehålla:

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

Webbläsaren löser dessa referenser med dokumentet den fick i visaren. Att PHP hämtade de ursprungliga byten fastställer inte den externa basen.

Ett base-element kan peka relativa URL:er mot målet, men dessa förfrågningar kan sedan gå direkt från webbläsaren till målet. För att i stället hålla varje förfrågan genom PHP krävs proxy-URL:er och en bredare routingmodell:

Resurs eller åtgärdNödvändig hantering
Länkar och bilderLös dem mot det externa dokumentet och producera den avsedda vägen
CSS-importer och -resurserAnvänd stilmallens externa bas
FormulärBevara metod och skickade data
OmdirigeringarHåll navigeringen inom den tillåtna modellen
Förfrågningar som skapas av skriptHantera URL:er som saknas i den ursprungliga HTML:en

Några reguljära uttrycks-ersättningar kan inte lova allmän kompatibilitet med skriptunga webbplatser. För ett känt offentligt dokument kan det räcka att stänga av navigering, tillåta direkta länkar eller dirigera en stödd delmängd tillbaka genom visaren. Bevara faktiska medietyper i stället för att behandla varje svar som HTML.

Att returnera opålitlig markup från din domän ger den också visarens webbläsarursprung, inte identiteten hos webbplatsen som hämtades. Isolera dessa dokument från konto- och administratörssidor. Definiera externa kakor per besökare, tillåtna vidarebefordrade rubriker och omdirigeringsmål; en delad kakburk kan blanda externa inloggningar.

Bind dig till den stödtgränsen innan du erbjuder en webbläsarsession. För vanligt surfande genom en annan utgång bevarar webbläsarens eget proxygränssnitt, som Firefox HTTP/SOCKS-inställningar, webbläsarens mål-URL och ursprungsmodell utan att kräva detta hämta-och-återpublicera-lager. För ett separat offentligt webbplatstest levererar listan över gratisproxys kandidatslutpunkter; matcha protokollet i webbläsarinställningarna.

Relaterade artiklar