PHP cURL può usare l'IP del visitatore?
Spiega quale macchina apre una connessione cURL lato server e cosa dovrebbe cambiare un proxy per modificare quel percorso.
Un visitatore fa clic su un pulsante. Il tuo server PHP chiama un'API esterna. L'API vede la connessione in uscita del server, o l'uscita del proxy configurato per quella connessione. Il browser del visitatore gestisce una connessione separata verso il tuo sito.
Copiare l'indirizzo del visitatore in un'intestazione non può spostare la connessione PHP sulla rete del visitatore. Le intestazioni sono dati inviati su una connessione già stabilita. Una destinazione può usare un'intestazione di inoltro attendibile nella propria logica applicativa, ma ciò non trasforma il valore dell'intestazione nell'indirizzo di origine della connessione.
Un proxy deve accettare la connessione
Per inviare PHP cURL attraverso un'altra macchina, quella macchina deve offrire un servizio proxy raggiungibile con il permesso di trasportare la richiesta. Il processo PHP deve potervi connettersi. La normale sessione browser di un visitatore non fornisce al tuo server un endpoint proxy generico di questo tipo.
L'opzione proxy di libcurl seleziona il servizio a cui cURL si connette. Non può chiedere a un browser arbitrario di originare la richiesta al suo posto.
Una richiesta dal browser è un'altra progettazione
Per alcune API, il browser può chiamare direttamente la destinazione. Questo colloca la richiesta sul percorso di rete dell'utente, soggetta alla sua configurazione proxy. Richiede anche un'API progettata per i client browser. L'accesso tra origini segue CORS e le credenziali inviate al codice del browser diventano disponibili per quel client.
Decidi a chi appartiene la richiesta prima di scegliere un'opzione proxy. Mantieni le credenziali del server sul server; usa un'integrazione browser documentata quando il servizio la supporta. Nessuna delle due progettazioni offre una scorciatoia affidabile per far ereditare a una richiesta del server l'identità di rete di un visitatore.