Trenutno ste van mreže; čekamo da se ponovo povežete na internet

IIS CGI HTTP_PROXY hlavička požiadavky je možné presmerovať

DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 3179800
Príznaky
Pri použití funkcie IIS rozhrania CGI (Common Gateway) Host spustiteľný program, ktorý pomocou niektorých knižnicu presmerovať požiadavky, žiadosti môže nesprávne na základe prítomnosti "PROXY" žiadosť hlavičky. Viaceré platformy webové aplikácie sú známe tejto knižnice. Okrem iného patria PHP, Python a pripravené.
Príčina
CGI je rozhranie, ktoré umožňuje webový server hostiteľa aplikácie spustiť spustiteľný procesov. Po prijatí požiadavky webový server, server začína nový proces na spracovanie tejto žiadosti. Po dokončení požiadavky proces ukončí. Aby proces na prístup k údajom žiadosti, hlavičky sú zahrnuté ako premenné prostredia, ktoré majú "HTTP_" pridané-svoje meno. CGI procesov požiadavky, ktoré obsahujú hlavičku s názvom "Proxy" teda "HTTP_PROXY" premenné prostredia, ktoré majú rovnakú hodnotu ako hlavičky požiadavky.

CURL príkazový riadok a libraryare bežne používa na enablevarious druhy aplikácií, aby požiadavky na rôzne typy serverov, vrátane webových serverov. Knižnica môže byť nakonfigurovaný pomocou parametrov príkazového riadka, alebo je možné čítať jeho parametre z hostiteľského procesu premenné. "HTTP_PROXY" je jeden mnohé parametre, ktoré používajú oblúčik. "HTTP_PROXY" používa cURL odoslať požiadavku HTTP cez server proxy nakonfigurovaný.

Poznámka: Je to nesúvisí s "HTTP_PROXY" ako hlavičky požiadavky klienta.

Ak cURL je umiestnený v procese CGI a obsahujúci proces s názvom "HTTP_PROXY" premenná prostredia, oblúčik používa jeho hodnota sendrequested údajov cez HTTP proxy, ktorého hodnota je definovaný v premennej prostredia. To sa vyskytuje, pretože cURL predpokladá, že "HTTP_PROXY" je konfigurácia smernice a nie hlavičky požiadavky klienta.
Ako problém obísť
Ak chcete tento problém obísť, nepoužívajte CGI na serveri so službou IIS. CGI je veľmi zastarané rozhranie, ktoré nahrádza novší a ďalšie súvisiace s výkonom. Konkrétne PHP, Python a ísť mali nachádzať cez FastCGI v službe IIS. FastCGI nepoužíva premenné hlavičky požiadavky klienta a nemá tento problém. Avšak PHP, niektoré aplikácie môžu používať PHPs getenv() funkcia načítať systémové premenné. Aj keď PHP nie je umiestnený v procese CGI, replikuje CGI správanie vstreknutím hodnoty hlavičky požiadavky na súbor údajov, ktoré sú dostupné na jej funkciu getenv() . Používate PHP aplikácií, ktoré načíta HTTP_PROXY týmto spôsobom platia nasledovné mitigations vymazanie hodnota hlavičky alebo zamietnutí žiadosti hlavičkou PROXY.

Ak musíte použiť CGI z nejakého dôvodu, blokovanie požiadavky, ktoré obsahujú požiadavky na hlavičku s názvom "Proxy" alebo vymazať hodnota hlavičky. Dôvodom je skutočnosť, že "Proxy" je štandardné hlavičky a prehľadávače všeobecne nie pošle.

Blokovanie požiadavka obsahuje hlavičku Proxy (preferovaným riešením), spustite nasledujúci príkaz:
Appcmd nastaviť config /section:requestfiltering / + requestlimits.headerLimits. [hlavičky = "proxy" sizelimit = "0"]

Poznámka: Appcmd.exe sa zvyčajne cesta a sa nachádza v adresári %systemroot%\system32\inetsrv

Vymazať hodnoty hlavičky, môžete použiť pravidlo URL Rewrite:
<system.webServer>    <rewrite>        <rules>            <rule name="Erase HTTP_PROXY" patternSyntax="Wildcard">                <match url="*.*" />                <serverVariables>                    <set name="HTTP_PROXY" value="" />                </serverVariables>                <action type="None" />            </rule>        </rules>    </rewrite></system.webServer>

Poznámka: URL Rewrite je prevzatie doplnok IIS a nie je súčasťou predvolenej inštalácie služby IIS.

Upozornenie: Tento článok bol preložený automaticky.

Svojstva

ID članka: 3179800 - Poslednji pregled: 07/21/2016 13:35:00 - Verzija: 2.0

Windows 10, Windows 10 Version 1511, Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8.1, Windows RT 8.1, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2008 R2 Service Pack 1, Windows 7 Service Pack 1, Windows Server 2008 Service Pack 2, Balík Service Pack 2 pre systém Windows Vista

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability kbmt KB3179800 KbMtsk
Povratne informacije