Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

IIS CGI HTTP_PROXY üstbilgi istekleri yönlendirilebilirsiniz

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 3179800
Belirtiler
Belirli bir kitaplık isteklerini yönlendirmek için kullandığı yürütülebilir bir program barındırmak için IIS Common Gateway Interface (CGI) özelliğini kullandığınızda, istekleri varlığını "PROXY" istek üstbilgisi üzerinde temel zayıflıkları. Bu kitaplık kullanmak için birkaç web uygulama platformları bilinir. Bunlar PHP, Python ve Git, başka şeylerin yanı sıra içerir.
Neden
CGI yürütülebilir işlemleri olarak çalışacak konak uygulamaların web sunucusuna izin veren bir arabirimdir. Bir web sunucusu tarafından bir istek alındığında, sunucu bu tek isteği işlemek için yeni bir işlem başlatır. Talep yapıldığında, işlem sonlandırılır. İşlemin isteğini veri erişimi sırayla istek üstbilgilerini "kendi adına $a HTTP_" olan ortam değişkenleri olarak dahil edilir. Bu nedenle, CGI işlemleri "Proxy" adlı bir başlık içeren istekler için istek üstbilgisi aynı değere sahip bir "HTTP_PROXY" ortam değişkeni vardır.

CURL komut satırı ve sunucuları, web sunucuları da dahil olmak üzere çeşitli türlerde isteği yapmak için enablevarious türdeki uygulamalar için yaygın olarak kullanılan libraryare. Bu kitaplık, komut satırı parametreleri kullanarak yapılandırılabilir veya ana bilgisayar işlemi ortam değişkenlerinin yapılandırma parametrelerinin okuyabilirsiniz. "HTTP_PROXY" cURL tarafından kullanılan birçok yapılandırma parametrelerini biridir. "HTTP_PROXY" cURL tarafından yapılandırılan proxy üzerinden bir HTTP isteği göndermek için kullanılır.

Not Bu, bir istemci isteği başlığı "HTTP_PROXY" için ilgisiz temsilidir.

CURL bir CGI işleminin içinde barındırılır ve işlem "HTTP_PROXY" adında bir ortam değişkeni içeren sendrequested değerini ortam değişkeninde belirtilen HTTP proxy üzerinden veri değerine cURL kullanır. CURL "HTTP_PROXY" yapılandırma yönergesi ve istemci istek üstbilgisi olduğunu bekler oluşur.
Pratik Çözüm
Bu soruna geçici bir çözüm için IIS çalıştıran bir sunucuda CGI kullanmayın. CGI tarafından daha yeni ve daha fazla performans ile ilgili arabirimlerin yerini büyük ölçüde eski bir arabirimdir. Özellikle, PHP, Python ve Git FastCGI üzerinde IIS aracılığıyla barındırılmalıdır. FastCGI ortam değişkenleri için istemci istek üstbilgilerini kullanmaz ve bu sorun yok. Ancak ortam değişkenlerini almak için PHP için bazı uygulamalar PHPs getenv() işlevini kullanabilir. Hatta ne zaman PHP CGI işlemi içinde barındırılan değil, onu CGI davranışı istek üstbilgisi değerleri için getenv() işlevini kullanılabilir veri kümesi içine ekleyerek çoğaltır. Bu şekilde HTTP_PROXY alır bir PHP uygulama kullanırsanız, üstbilgi değeri temizlenmesi veya PROXY üstbilgisiyle istekleri reddetmeye aşağıdaki azaltıcı etkilidir.

Herhangi bir nedenden dolayı CGI kullanmanız gerekiyorsa, "Proxy" adlı bir istek üstbilgisi içeren isteklerini engellemek veya üstbilgi değerini temizleyin. Bu, tarayıcıların genellikle göndermez ve "Proxy" standart istek üstbilgisi adı değil çünkü.

(Tercih edilen çözüm) Proxy üstbilgi içeren bir istek engellemek için aşağıdaki komut satırını çalıştırın:
appcmd set config /section:requestfiltering / + requestlimits.headerLimits. [başlık 'proxy', sizelimit = '0' =]

Not Appcmd.exe genellikle yolda değildir ve %systemroot%\system32\inetsrv dizinine bulunabilir.

Üstbilgi değerini temizlemek için aşağıdaki URL yeniden yazma kuralı kullanabilirsiniz:
<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>

Not URL yeniden yazma bir yüklenebilir Ekle-IIS ve varsayılan bir IIS yüklemesinde bulunmamaktadır.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 3179800 - Son İnceleme: 07/21/2016 13:37:00 - Düzeltme: 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, Windows Vista Service Pack 2

  • atdownload kbbug kbexpertiseinter kbfix kbsecbulletin kbsecurity kbsecvulnerability kbmt KB3179800 KbMttr
Geri bildirim