2010-10-27 16 views

cevap

22

Bunu yapmanın doğru yolu altında bu kullanıldığını düşünüyorum:

Bu hala IUSR hesaptan orada bulunan dosyalara erişmek için izin verir
<configuration> 
    <system.webServer> 
     <security> 
      <requestFiltering> 
       <hiddenSegments> 
        <add segment="My_Directory" /> 
       </hiddenSegments> 
      </requestFiltering> 
     </security> 
    </system.webServer> 
</configuration> 

, ancak gerçek dosya isteklerinin doğrudan doldurulmasını önler. o, kendisi, başka bir şeyin bir alt dizin olsa bile - bu o dizindeki dosyaları ve herhangi bir alt dizinleri, bu dizin oluşur olursa olsun engelleyeceğini

Not.

+0

Yukarıdaki kod, erişimi reddetmek istediğiniz dizinin bulunduğu dizindeki bir web.config dosyasına yerleştirilmelidir. Kök düzeyindeki web.config dosyasına yerleştirmeyi test ettim ve tüm siteye erişimi engelledi. Aynı dizindeki ayrı bir web.config dosyasına koymak, dizine erişmeyi denediğinde 404 hatası döndürür (yine de döndürdüğü hata türünün IIS'de değiştirilebileceğine eminim). – Tiffany

1

Bu klasördeki IIS_IUSR izinlerini kaldırın.

ben onun jenerik olarak "Internet Konuk hesabı"

+3

Bunu yaparsanız: Bu yaklaşım engellenmesine bu isteği neden olur, benzersiz bir URL veya dizin adı url herhangi bir düzeyde, sitedeki segmentin aksi başka geçtiği kullanılmasını gerektirir Ayrıca, bu dosyalara web uygulaması aracılığıyla erişme kabiliyetlerini de engelleyebilirsiniz, ki bu muhtemelen amaçlanan şey değildir. –

+0

I IIS_IUSR'yi kaldırmak benim durumumda çalışacak, orada kullanıcı yüklemeleri kaydetmek istiyorum, şimdi bunları c: sürücüsündeki web sitesi klasörünün dışında bir yere kaydettim ve bu yükleme klasörü IIS_IUSR iznine sahip değil ve ben hala web sitem kodundan eriş. –