Kan PHP cURL die besoeker se IP gebruik?
Verduidelik watter masjien 'n bediener-kant cURL-verbinding oopmaak en wat 'n proxy sou nodig hê om daardie roete te verander.
’n Besoeker klik op ’n knoppie. Jou PHP-bediener roep ’n eksterne API. Die API sien die bediener se uitgaande verbinding, of die uitgang van die proxy wat vir daardie verbinding opgestel is. Die besoeker se blaaier hanteer ’n aparte verbinding na jou webwerf.
Om die besoeker se adres in ’n kop te kopieer, kan nie die PHP-verbinding na die besoeker se netwerk skuif nie. Koppe is data wat oor ’n reeds gevestigde verbinding gestuur word. ’n Bestemming kan ’n vertroude deurstuur-kop in sy eie toepassingslogika gebruik, maar dit maak nie die kopwaarde die verbinding se bronadres nie.
’n Proxy moet die verbinding aanvaar
Om PHP cURL deur ’n ander masjien te stuur, moet daardie masjien ’n bereikbare proxy-diens bied met toestemming om die versoek te dra. Die PHP-proses moet daaraan kan koppel. ’n Besoeker se gewone blaaier-sessie gee jou bediener geen sulke algemene proxy-eindpunt nie.
Die libcurl-proxy-opsie kies die diens waaraan cURL koppel. Dit kan nie ’n willekeurige blaaier vra om die versoek namens hom te begin nie.
’n Blaaier-versoek is ’n ander ontwerp
Vir sommige API's kan die blaaier die bestemming direk roep. Dit plaas die versoek op die gebruiker se netwerkpad, onderhewig aan hul eie proxy-konfigurasie. Dit vereis ook ’n API wat vir blaaier-kliënte ontwerp is. Kruis-oorsprong toegang volg CORS, en geloofsbriewe wat na blaaier-kode gestuur word, word vir daardie kliënt beskikbaar.
Besluit waar die versoek hoort voordat jy ’n proxy-opsie kies. Hou bediener-geloofsbriewe op die bediener; gebruik ’n gedokumenteerde blaaier-integrasie wanneer die diens een ondersteun. Nie een ontwerp bied ’n betroubare kortpad om ’n bediener-versoek die besoeker se netwerk-identiteit te laat oorneem nie.