Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Symptomen

Wanneer u de functie van IIS Common Gateway Interface (CGI) als host voor een uitvoerbaar programma dat het gebruik van een bepaalde bibliotheek aanvragen omleiden, kunnen aanvragen worden illegaal op basis van de aanwezigheid van een verzoek-header 'PROXY'. Gebruik deze bibliotheek zijn verschillende web application platforms bekend. Deze omvatten PHP, Python en Ga, onder andere.

Oorzaak

CGI is een interface waarmee een webserver host voor toepassingen die worden uitgevoerd als uitvoerbare processen. Wanneer een aanvraag wordt ontvangen door een webserver, start de server een nieuw proces dat één aanvraag te verwerken. Wanneer de aanvraag is voltooid, wordt het proces beëindigd. Om het proces van toegang hebben tot de aanvraaggegevens, worden de aanvraagheaders opgenomen als omgevingsvariabelen die "HTTP_" de functienaam geplaatst om hun naam hebben. CGI-processen voor aanvragen met een header met de naam 'Proxy' hebben daarom een "Gebruikt" omgevingsvariabele die dezelfde waarde hebben als de verzoek-header.

De opdrachtregel krul en bibliotheek worden vaak gebruikt om verschillende soorten toepassingen waarmee aanvragen naar verschillende soorten servers, inclusief webservers. Deze bibliotheek kan worden geconfigureerd met opdrachtregelparameters of de configuratieparameters van de omgevingsvariabelen host proces kan worden gelezen. "Gebruikt" is een groot aantal configuratieparameters die worden gebruikt door de krul. "Gebruikt" wordt voor het verzenden van HTTP-aanvragen via de geconfigureerde proxy gebruikt door krul.

Opmerking  Dit is gerelateerd aan de 'Gebruikt' als de representatie van de verzoek-header van een client.

Bij krul wordt gehost in een CGI-proces, en dat proces bevat een omgevingsvariabele met de naam "Gebruikt", krul de waarde gebruikt voor het verzenden van gegevens via de HTTP-proxy waarvan de waarde is opgegeven in de omgevingsvariabele. Dit gebeurt omdat de krul wordt verwacht dat "Gebruikt" een configuratie-richtlijn en niet een aanvraagheader client is.

Tijdelijke oplossing

U kunt dit probleem omzeilen, gebruik geen CGI op een server waarop IIS wordt uitgevoerd. CGI is een grotendeels verouderd interface die wordt vervangen door nieuwere en meer prestatieproblemen en interfaces. PHP, Python en ga moet met name worden gehost door FastCGI op IIS. FastCGI maakt geen gebruik van omgevingsvariabelen voor client-aanvraagheaders en beschikt niet over dit probleem. Echter voor PHP, soms gebruiken bepaalde toepassingen PHPs getenv() -functie voor het ophalen van omgevingsvariabelen. Zelfs als PHP is niet opgenomen binnen een CGI-proces, repliceert het gedrag van de CGI injecteren verzoek-headerwaarden in de reeks gegevens beschikbaar zijn voor de functie getenv() . Als u een PHP-toepassing die wordt gebruikt op deze manier wordt opgehaald, zijn de volgende beperkingen van de header-waarde uit te schakelen of afkeuren van verzoeken met een PROXY-header van kracht.

Als u CGI gebruikt om een bepaalde reden hebt, aanvragen met een verzoek-header met de naam 'Proxy' blokkeren of wissen van de waarde van de header.  Dit komt doordat "Proxy" geen standaard verzoek-header is en browsers wordt over het algemeen niet wilt verzenden.

Blokkeren van een aanvraag met een Proxy-header (beste oplossing), voert u de volgende opdrachtregel:

appcmd opgenomen set config /section:requestfiltering / + requestlimits.headerLimits. [kop proxy, sizelimit = "0" =]
Opmerking  De appcmd.exe niet gewoonlijk in het pad en kunt u vinden in de map %systemroot%\system32\inetsrv

Schakel de waarde van de header, kunt u de volgende regel voor het herschrijven van URL:

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


Opmerking De URL herschrijven is een downloadbare toevoegen in IIS en wordt niet opgenomen in een standaardinstallatie van IIS.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×