Separeu les capçaleres de servidor intermedi de libcurl de les capçaleres del lloc web
Doneu a libcurl llistes separades de capçaleres de servidor intermedi i de destinació, tot reconeixent que el reenviament en text pla té un límit de visibilitat diferent.
Per a un manegador de libcurl existent, separeu explícitament les llistes de capçaleres de destinació i de servidor intermedi:
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); Mantingueu viu el manegador configurat i les llistes vàlides durant la transferència. CURLHEADER_SEPARATE distingeix les capçaleres utilitzades a CONNECT de les capçaleres utilitzades per a la sol·licitud de destinació. Els exemples antics de política unificada poden posar la llista ordinària en tots dos intercanvis.
| Camí de la sol·licitud | Significat de les llistes separades |
|---|---|
| HTTPS dins d'un túnel CONNECT ordinari | L'intercanvi amb el servidor intermedi va primer; les capçaleres HTTP de destinació segueixen dins del TLS de destinació. |
| Reenviament HTTP pla | El servidor intermedi pot llegir les capçaleres de destinació, i libcurl pot utilitzar totes dues llistes aplicables en l'única sol·licitud reenviada. |
Un marcador d'encaminament només per al servidor intermedi pertany a l'intercanvi amb el servidor intermedi. Amb reenviament en text pla, un camp personalitzat arbitrari pot arribar a l'origen tret que l'arranjament de reenviament el gestioni; el nom de l'opció no és cap garantia de confidencialitat.
Utilitzeu opcions de credencials compatibles per a l'autenticació. Per a les metadades definides per l'operador, determineu quin salt les consumeix i si es poden reenviar en lloc de posar una contrasenya en un camp genèric.
Quan un marcador falta o sembla que es filtra, identifiqueu la sol·licitud real que el conté. Una devolució de trucada de capçaleres que mostra diversos intercanvis pot fer que llistes correctament separades semblin barrejades.