Alguns productes de proxy defineixen un flux d'inici de sessió que proporciona una galeta o un testimoni per a sol·licituds de proxy posteriors. Si aquest testimoni ha d'aparèixer a CONNECT, manteniu-lo separat de les galetes destinades al lloc web dins del túnel.

libcurl ofereix una llista dedicada de capçaleres personalitzades per al proxy. En una aplicació C ja inicialitzada, un fragment de configuració pot ser així:

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);

Això només és adequat quan el protocol d'inici de sessió documentat del proxy requereix aquesta capçalera. Comproveu els resultats de l'assignació i de les opcions al codi circumdant, conserveu la llista fins que la transferència s'hagi completat i, després, netegeu o substituïu el punter del maneig abans d'alliberar la llista.

Amb un tractament separat de les capçaleres, libcurl envia la llista de proxy a CONNECT i la llista de destinació a la sol·licitud dins del túnel establert. Així, el proxy rep el testimoni del proveïdor sense que aquest testimoni es converteixi en una galeta del lloc web. Aquesta separació és el valor per defecte des de libcurl 7.42.1; l'opció explícita fa visible el comportament previst.

Un pot de galetes del navegador és un altre mecanisme

Habilitar el motor de galetes de libcurl o establir una galeta per a la destinació no reprodueix automàticament el flux d'inici de sessió de proxy propietari d'un navegador. CONNECT ocorre abans de l'intercanvi HTTPS amb la destinació. Identifiqueu els requisits reals del producte en lloc de copiar una galeta de lloc capturada a cada sol·licitud.

Si el proxy utilitza autenticació de proxy HTTP estàndard, utilitzeu les credencials de proxy de libcurl i les opcions d'autenticació compatibles. Un 407 amb Proxy-Authenticate és un protocol diferent d'una pàgina d'inici de sessió HTML que retorna un testimoni de sessió.

Manteniu el testimoni limitat al seu punt final de proxy i a la seva vida útil prevista. En canviar a un altre intermediari, substituïu la llista de capçaleres com a part d'aquest canvi de configuració. Una llista general de capçaleres de sol·licitud és un mal lloc per a un secret que pertany només a un proxy.

Articles relacionats