Atdaliet libcurl starpniekservera galvenes no vietnes galvenēm
Dodiet libcurl atsevišķus starpniekservera un galamērķa galveņu sarakstus, vienlaikus atzīstot, ka pārsūtīšanai atklātā tekstā ir cita redzamības robeža.
Esošam libcurl rokturim skaidri atdaliet galamērķa un starpniekservera galveņu sarakstus:
curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers); Pārsūtīšanas laikā uzturiet konfigurēto rokturi un derīgos sarakstus dzīvus. CURLHEADER_SEPARATE atšķir galvenes, kas tiek izmantotas CONNECT, no galvenēm, kas tiek izmantotas galamērķa pieprasījumam. Vecāki vienotas politikas piemēri var ievietot parasto sarakstu abos apmaiņos.
| Pieprasījuma ceļš | Atsevišķu sarakstu nozīme |
|---|---|
| HTTPS parastā CONNECT tunelī | Vispirms notiek apmaiņa ar starpniekserveri; pēc tam galamērķa HTTP galvenes seko galamērķa TLS iekšienē. |
| Parasta HTTP pārsūtīšana | Starpniekserveris var lasīt galamērķa galvenes, un libcurl var izmantot abus attiecināmos sarakstus vienā pārsūtītajā pieprasījumā. |
Maršrutēšanas marķieris, kas paredzēts tikai starpniekserverim, pieder starpniekservera apmaiņai. Pārsūtot atklātā tekstā, patvaļīgs pielāgots lauks var sasniegt izcelsmi, ja vien pārsūtīšanas kārtība to neapstrādā; opcijas nosaukums nav konfidencialitātes garantija.
Autentifikācijai izmantojiet atbalstītās akreditācijas datu opcijas. Operatora definētiem metadatiem nosakiet, kurš lēciens tos patērē un vai tos drīkst pārsūtīt, nevis ievietot paroli vispārīgā laukā.
Kad marķieris trūkst vai šķiet, ka tas noplūst, identificējiet faktisko pieprasījumu, kas to satur. Galveņu atzvanīšana, kas parāda vairākas apmaiņas, var likt pareizi atdalītiem sarakstiem izskatīties sajauktiem.