Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Požymiai

Naudojant funkciją IIS bendrojo šliuzo sąsaja (CGI) pagrindinio kompiuterio vykdomąją programą, naudoti tam tikrų biblioteka nukreipti užklausas, užklausas gali nepagrįsti pagal apie "PROXY" Užklausos antraštė. Naudokite šį žinomi keli žiniatinklio taikomųjų programų platformos. Tai apima PHP, Python ir eiti, tarp kitų.

Priežastis

CGI yra sąsaja, kuri leidžia žiniatinklio serverio pagrindinio kompiuterio programas, kurios veikia kaip vykdomųjų procesus. Gavę užklausą iš žiniatinklio serverio, serverio pradeda naują procesą, vieną užklausą. Kai užklausa bus baigtas, procesas išsijungia. Tam, kad procesas bus turi prieigą prie užklausos duomenų, antraštės yra kaip aplinkos kintamieji, kurie turi "HTTP_" naudojami su savo vardą. Todėl CGI procesai užklausas, kuriuose yra antraštės, pavadintą "Proxy" yra "HTTP_PROXY" aplinkos kintamasis, kurių reikšmė tokia pati kaip užklausos antraštė.

Renka komandų eilutę ir bibliotekos paprastai naudojami įvairių programų pateikti užklausą į įvairių tipų serverius, įskaitant interneto serverių. Šią biblioteką galima konfigūruoti naudojant komandų eilutės parametrus, arba jį perskaityti konfigūravimo parametrus iš pagrindinio kompiuterio procesas aplinkos kintamieji. "HTTP_PROXY" yra vienas iš daugelio konfigūracijos parametrus, kuriuos naudoja renka. "HTTP_PROXY" naudojamas renka siunčia HTTP užklausą per sukonfigūruoti tarpinį serverį.

Pastaba. Tai nėra susijęs su "HTTP_PROXY" kaip kliento užklausos antraštė vaizdas.

Renka nuomojami CGI procese ir kad procesas yra aplinkos kintamąjį, pavadintą "HTTP_PROXY", jo reikšmę renka naudoja siųsti prašomi per HTTP tarpinį serverį, kurio reikšmė nurodyta aplinkos kintamasis. Taip nutinka, nes renka tikisi, kad "HTTP_PROXY" yra direktyvos konfigūracijos ir nėra kliento užklausos antraštė.

Sprendimas

Norėdami išspręsti šią problemą, nenaudokite CGI serveryje, kuriame veikia IIS. CGI yra labai pasenusi sąsaja, kuri pakeičia naujesnės ir efektyvumo susijusiomis sąsajos. Tiksliau, PHP, Python ir vykdymo turėtų nuomojami per FastCGI IIS. Tomas nenaudoja aplinkos kintamieji kliento prašymą antraštes ir nėra šią problemą. Tačiau PHP, kai kurios programos gali naudoti PHPs getenv() funkcija gauti aplinkos kintamieji. Net kai PHP vyko viduje CGI procesą, jis replikuoja CGI veikimo iš leidžiamų užklausos antraštės vertės į savo funkciją getenv() duomenų rinkinį. Jei naudojate PHP programa, kuri nuskaito HTTP_PROXY tokiu būdu, šių priemonėmis sumažinti riziką išvalius antraštės vertės arba atmesti užklausas su PROXY antraštė yra efektyvus.

Jei turite naudoti CGI dėl kokių nors priežasčių, arba blokuoti užklausas, kuriuose yra užklausos antraštę, pavadintą "Proxy" arba antraštės reikšmei išvalyti.  Taip yra todėl, kad "Proxy" nėra standartinės užklausos antraštės pavadinimas ir naršyklės paprastai negali siųsti jį.

Blokuoti užklausą, kuriame yra Proxy antraštė (pageidaujamas sprendimas), vykdykite šią komandą:

Appcmd nustatyti config /section:requestfiltering / + requestlimits.headerLimits. [antraštė = "proxy" sizelimit = "0"]
Pastaba. Toliau appcmd.exe paprastai nėra kelią ir rasite %systemroot%\system32\inetsrv kataloge

Norėdami panaikinti antraštės reikšmė, galite naudoti šį URL perrašymo taisyklės:

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


Pastaba. URL perrašymo yra a atsisiųsti papildinį IIS ir nėra įtraukta į numatytąjį IIS diegimą.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×