Pode PHP cURL usar o IP do visitante?
Explica que máquina abre unha conexión cURL no lado do servidor e que tería que cambiar un proxy para alterar esa ruta.
Un visitante preme un botón. O teu servidor PHP chama a unha API externa. A API ve a conexión saínte do servidor, ou a saída do proxy configurado para esa conexión. O navegador do visitante xestiona unha conexión distinta co teu sitio web.
Copiar o enderezo do visitante nunha cabeceira non pode mover a conexión de PHP á rede do visitante. As cabeceiras son datos enviados sobre unha conexión xa establecida. Un destino pode usar unha cabeceira de reenvío de confianza na súa propia lóxica de aplicación, pero iso non converte o valor da cabeceira no enderezo de orixe da conexión.
Un proxy ten que aceptar a conexión
Para enviar PHP cURL a través doutra máquina, esa máquina debe ofrecer un servizo proxy accesible con permiso para transportar a solicitude. O proceso PHP debe poder conectarse a el. A sesión de navegador normal dun visitante non lle dá ao teu servidor ningún punto de conexión proxy de uso xeral.
A opción de proxy de libcurl selecciona o servizo ao que se conecta cURL. Non pode pedirlle a un navegador arbitrario que orixine a solicitude no seu nome.
Unha solicitude desde o navegador é outro deseño
Para algunhas API, o navegador pode chamar directamente ao destino. Iso sitúa a solicitude na ruta de rede do usuario, suxeita á súa propia configuración de proxy. Tamén require unha API deseñada para clientes de navegador. O acceso entre orixes segue CORS, e as credenciais enviadas ao código do navegador quedan dispoñibles para ese cliente.
Decide a onde pertence a solicitude antes de escoller unha opción de proxy. Mantén as credenciais do servidor no servidor; usa unha integración de navegador documentada cando o servizo a admita. Ningún dos dous deseños ofrece un atallo fiable para que unha solicitude do servidor herde a identidade de rede dun visitante.