Neki proxy proizvodi definišu tok prijave koji daje kolačić ili token za naredne proxy zahteve. Ako taj token mora da se pojavi na CONNECT-u, držite ga odvojeno od kolačića namenjenih web stranici unutar tunela.

libcurl pruža namensku listu prilagođenih zaglavlja za proxy. U već inicijalizovanoj 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 zahteva to zaglavlje. Proverite rezultate dodele i opcija u okolnom kodu, zadržite listu dok se prenos ne završi, a zatim očistite ili zamenite pokazivač ručke pre oslobađanja liste.

Sa zasebnim rukovanjem zaglavljima, libcurl šalje proxy listu na CONNECT, a listu odredišta na zahtevu unutar uspostavljenog tunela. Proxy tako prima token proizvođača, a da taj token ne postaje kolačić web stranice. Ovo razdvajanje je podrazumevano od libcurl 7.42.1; eksplicitna opcija čini nameravano ponašanje vidljivim.

Kutija kolačića pregledača je drugi mehanizam

Omogućavanje libcurl-ovog mehanizma kolačića ili postavljanje kolačića za odredište ne reprodukuje automatski sopstveni tok prijave proxyja u pregledaču. CONNECT se dešava pre HTTPS razmene sa odredištem. Utvrdite stvarne zahteve proizvoda umesto da kopirate uhvaćeni kolačić stranice u svaki zahtev.

Ako proxy koristi standardnu HTTP proxy autentifikaciju, koristite umesto 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 vek. Pri prelasku na drugi posrednik, zamenite listu zaglavlja kao deo te promene konfiguracije. Opšta lista zaglavlja zahteva loše je mesto za tajnu koja pripada samo jednom proxyju.

Povezani članci