Kas PHP cURL saab kasutada külastaja IP-d?
Selgita, milline masin avab serveripoolse cURL-ühenduse ja mida peaks puhverserver selle marsruudi muutmiseks muutma.
Külastaja vajutab nuppu. Sinu PHP-server kutsub välise API. API näeb serveri väljuvat ühendust või sille ühenduse jaoks seadistatud puhverserveri väljundit. Külastaja brauser haldab eraldi ühendust sinu veebisaidiga.
Külastaja aadressi päisesse kopeerimine ei saa PHP-ühendust külastaja võrku viia. Päised on andmed, mis saadetakse juba loodud ühenduse kaudu. Sihtkoht võib oma rakendusloogikas kasutada usaldusväärset edastuspäist, kuid see ei muuda päise väärtust ühenduse lähteaadressiks.
Puhverserver peab ühenduse vastu võtma
Et saata PHP cURL-i läbi teise masina, peab see masin pakkuma kättesaadavat puhverserveri teenust, millel on luba päringut kanda. PHP-protsess peab saama sellega ühenduda. Külastaja tavaline brauseriseanss ei anna sinu serverile sellist üldotstarbelist puhverserveri lõpp-punkti.
libcurli puhverserveri valik valib teenuse, millega cURL ühendub. See ei saa paluda suvalisel brauseril päringut enda nimel algatada.
Brauseripäring on teistsugune lahendus
Mõne API puhul saab brauser sihtkohta otse kutsuda. See asetab päringu kasutaja võrguteele, alludes nende enda puhverserveri seadistusele. Samuti nõuab see brauseriklientidele mõeldud API-t. Päritoluülene juurdepääs järgib CORS-i ning brauserikoodile saadetud volitused muutuvad sellele kliendile kättesaadavaks.
Otsusta, kuhu päring kuulub, enne puhverserveri valiku tegemist. Hoia serveri volitused serveris; kasuta dokumenteeritud brauseriintegratsiooni, kui teenus seda toetab. Kumbki lahendus ei paku usaldusväärset otseteed, et serveripäring pärsiks külastaja võrguidentiteedi.