Välityspalvelimen evästeen säilyttäminen CONNECT-pyynnössä
Käytä libcurlin erillistä välityspalvelimen otsakekäyttöliittymää toimittajan määrittämään CONNECT-kirjautumiseen sen sijaan, että kohteen evästettä kohdeltaisiin välityspalvelimen todennuksena.
Jotkin välityspalvelintuotteet määrittelevät kirjautumisvirran, joka tarjoaa evästeen tai tunnuksen myöhemmille välityspalvelinpyynnöille. Jos tämän tunnuksen on esiinnyttävä CONNECT-pyynnössä, pidä se erillään evästeistä, jotka on tarkoitettu tunnelin sisäiselle verkkosivustolle.
libcurl tarjoaa välityspalvelimelle oman mukautettujen otsakkeiden luettelon. Jo alustetussa C-sovelluksessa kokoonpanon katkelma voi näyttää tältä:
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);Tämä on sopivaa vain, kun välityspalvelimen dokumentoitu kirjautumisprotokolla vaatii kyseisen otsakkeen. Tarkista varaamisen ja valintojen tulokset ympäröivästä koodista, pidä luettelo, kunnes siirto on valmis, ja tyhjennä tai korvaa sitten kahvan osoitin ennen luettelon vapauttamista.
Erillisellä otsakekäsittelyllä libcurl lähettää välityspalvelinluettelon CONNECT-pyynnössä ja kohdeluettelon muodostetun tunnelin sisäisessä pyynnössä. Siten välityspalvelin saa toimittajan tunnuksen ilman, että tunnuksesta tulee verkkosivuston evästettä. Tämä erottelu on oletus libcurl-versiosta 7.42.1 alkaen; eksplisiittinen valinta tekee aiotun toiminnan näkyväksi.
Selaimen evästepurkki on toinen mekanismi
libcurlin evästemoottorin käyttöönotto tai kohteen evästeen asettaminen ei automaattisesti toista selaimen omaa välityspalvelimen kirjautumisvirtaa. CONNECT tapahtuu ennen kohteen HTTPS-vaihtoa. Selvitä tuotteen todelliset vaatimukset sen sijaan, että kopioisit siepatun sivuston evästeen jokaiseen pyyntöön.
Jos välityspalvelin käyttää tavallista HTTP-välityspalvelimen todennusta, käytä sen sijaan libcurlin välityspalvelintunnuksia ja tuettuja todennusvaihtoehtoja. 407 ja Proxy-Authenticate on eri protokolla kuin HTML-kirjautumissivu, joka palauttaa istuntotunnuksen.
Rajaa tunnus sen välityspalvelimen päätepisteeseen ja aiottuun elinikään. Kun vaihdat toiseen välittäjään, korvaa otsakeluettelo osana tätä kokoonpanomuutosta. Yleinen pyyntöotsakeluettelo on huono paikka salaisuudelle, joka kuuluu vain yhdelle välityspalvelimelle.