Zadržavanje proxy kolačića na CONNECT zahtjevu
Koristite libcurl-ov zasebni interfejs proxy zaglavlja za CONNECT prijavu koju definiše proizvođač, umjesto da kolačić odredišta tretirate kao proxy autentifikaciju.
Neki proxy proizvodi definiraju tok prijave koji daje kolačić ili token za naredne proxy zahtjeve. Ako se taj token mora pojaviti na CONNECT-u, držite ga odvojeno od kolačića namijenjenih web stranici unutar tunela.
libcurl pruža namjensku listu prilagođenih zaglavlja za proxy. U već inicijaliziranoj C aplikaciji fragment konfiguracije može izgledati ovako:
struct curl_slist *proxy_headers = NULL;
proxy_headers = curl_slist_append(proxy_headers,
"Cookie: ProxySession=REPLACE_WITH_PROXY_TOKEN");
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HEADEROPT,
(long) CURLHEADER_SEPARATE);Ovo je prikladno samo kada dokumentovani protokol prijave proxyja zahtijeva to zaglavlje. Provjerite rezultate dodjele i opcija u okolnom kodu, zadržite listu dok se prijenos ne završi, a zatim očistite ili zamijenite pokazivač ručke prije oslobađanja liste.
Sa zasebnim rukovanjem zaglavljima, libcurl šalje proxy listu na CONNECT, a listu odredišta na zahtjevu unutar uspostavljenog tunela. Proxy tako prima token proizvođača, a da taj token ne postaje kolačić web stranice. Ovo razdvajanje je zadano od libcurl 7.42.1; eksplicitna opcija čini namjeravano ponašanje vidljivim.
Kutija kolačića preglednika je drugi mehanizam
Omogućavanje libcurl-ovog mehanizma kolačića ili postavljanje kolačića za odredište ne reprodukuje automatski vlastiti tok prijave proxyja u pregledniku. CONNECT se događa prije HTTPS razmjene s odredištem. Utvrdite stvarne zahtjeve proizvoda umjesto da kopirate uhvaćeni kolačić stranice u svaki zahtjev.
Ako proxy koristi standardnu HTTP proxy autentifikaciju, koristite umjesto toga libcurl-ove proxy akreditive i podržane opcije autentifikacije. 407 sa Proxy-Authenticate je drugačiji protokol od HTML stranice za prijavu koja vraća token sesije.
Ograničite token na njegovu proxy krajnju tačku i predviđeni životni vijek. Prilikom prelaska na drugi posrednik, zamijenite listu zaglavlja kao dio te promjene konfiguracije. Opća lista zaglavlja zahtjeva loše je mjesto za tajnu koja pripada samo jednom proxyju.