Pot PHP cURL utilitzar la IP del visitant?
Expliqueu quina màquina obre una connexió cURL al costat del servidor i què necessitaria un proxy per canviar aquesta ruta.
Un visitant fa clic en un botó. El vostre servidor PHP crida una API externa. L'API veu la connexió de sortida del servidor, o la sortida del proxy configurat per a aquesta connexió. El navegador del visitant gestiona una connexió separada amb el vostre lloc web.
Copiar l'adreça del visitant en una capçalera no pot traslladar la connexió PHP a la xarxa del visitant. Les capçaleres són dades enviades per una connexió ja establerta. Una destinació pot fer servir una capçalera de reenviament de confiança en la seva pròpia lògica, però això no converteix el valor de la capçalera en l'adreça d'origen de la connexió.
Un proxy ha d'acceptar la connexió
Per enviar PHP cURL a través d'una altra màquina, aquesta màquina ha d'oferir un servei de proxy accessible amb permís per transportar la sol·licitud. El procés PHP ha de poder connectar-s'hi. La sessió de navegador ordinària d'un visitant no dona al vostre servidor cap punt final de proxy d'ús general com aquest.
L'opció de proxy de libcurl selecciona el servei al qual es connecta cURL. No pot demanar a un navegador arbitrari que originï la sol·licitud en nom seu.
Una sol·licitud del navegador és un disseny diferent
Per a algunes API, el navegador pot cridar la destinació directament. Això situa la sol·licitud al camí de xarxa de l'usuari, subjecte a la seva pròpia configuració de proxy. També requereix una API dissenyada per a clients de navegador. L'accés entre orígens segueix CORS, i les credencials enviades al codi del navegador queden disponibles per a aquell client.
Decidiu on pertany la sol·licitud abans de triar una opció de proxy. Manteniu les credencials del servidor al servidor; feu servir una integració de navegador documentada quan el servei en doni suport. Cap dels dos dissenys no ofereix un atall fiable perquè una sol·licitud del servidor hereti la identitat de xarxa del visitant.