Kan PHP cURL bruke IP-adressen til den besøkende?
Forklarer hvilken maskin som åpner en cURL-tilkobling på serversiden, og hva en proxy må gjøre for å endre ruten.
En besøkende klikker på en knapp. PHP-serveren din kaller et eksternt API. API-et ser serverens utgående tilkobling, eller utgangen til proxyen som er konfigurert for den tilkoblingen. Den besøkendes nettleser håndterer en egen tilkobling til nettstedet ditt.
Å kopiere adressen til den besøkende inn i en header kan ikke flytte PHP-tilkoblingen over på nettverket til den besøkende. Headere er data som sendes over en allerede opprettet tilkobling. En mottaker kan bruke en klarert videresendingsheader i sin egen applikasjonslogikk, men det gjør ikke headerverdien til tilkoblingens kildeadresse.
Proxyen må akseptere tilkoblingen
For å sende PHP cURL gjennom en annen maskin må den maskinen tilby en tilgjengelig proxy-tjeneste med tillatelse til å føre forespørselen. PHP-prosessen må kunne koble seg til den. En vanlig nettleserøkt hos den besøkende gir ikke serveren din et slikt generelt proxy-endepunkt.
libcurl-proxyvalget velger tjenesten cURL kobler seg til. Det kan ikke be en vilkårlig nettleser om å opprette forespørselen på egne vegne.
En nettleserforespørsel er et annet design
For noen API-er kan nettleseren kalle destinasjonen direkte. Det setter forespørselen på nettverksbanen til brukeren, avhengig av deres egen proxykonfigurasjon. Det krever også et API laget for nettleserklienter. Tverrorigin-tilgang følger CORS, og legitimasjon som sendes til nettleserkode blir tilgjengelig for den klienten.
Avgjør hvor forespørselen hører hjemme før du velger proxyvalg. Hold serverlegitimasjon på serveren; bruk en dokumentert nettleserintegrasjon når tjenesten støtter det. Ingen av designene gir en pålitelig snarvei for å la en serverforespørsel arve nettverksidentiteten til den besøkende.