2010-10-27 10 views
11

मुझे पता है कि डीफॉल्ट आईआईएस द्वारा सार्वजनिक रूप से ऐप_Data या बिन फ़ोल्डर्स सामग्री सर्वर नहीं होगी।
सार्वजनिक रूप से सर्वर न करने के लिए एक और फ़ोल्डर कैसे सेट करें?IIS7 को फ़ोल्डर की सेवा करना बंद करने के लिए कैसे करें?

उत्तर

22

ऐसा करने के लिए उचित तरीके के तहत इस उपयोग कर रहा है:

<configuration> 
    <system.webServer> 
     <security> 
      <requestFiltering> 
       <hiddenSegments> 
        <add segment="My_Directory" /> 
       </hiddenSegments> 
      </requestFiltering> 
     </security> 
    </system.webServer> 
</configuration> 

यह आप अभी भी IUSR खाते से वहाँ स्थित फ़ाइलों तक पहुँचने की अनुमति देता है, लेकिन सीधे भरने से फ़ाइलों के लिए वास्तविक अनुरोधों को रोकता है।

ध्यान दें कि यह उस निर्देशिका में फ़ाइलों को अवरुद्ध करेगा, और कोई भी उपनिर्देशिका, चाहे वह निर्देशिका कहां न हो - भले ही यह स्वयं, कुछ और की उप-निर्देशिका है।

+0

उपरोक्त कोड को उसी निर्देशिका में web.config फ़ाइल में रखा जाना चाहिए, जिस निर्देशिका से आप पहुंच से इनकार करना चाहते हैं। मैंने इसे अपने रूट स्तर web.config में डालने का परीक्षण किया, और यह पूरी साइट तक पहुंच को अवरुद्ध कर दिया। इसे निर्देशिका में एक्सेस करने का प्रयास करते समय एक ही निर्देशिका में एक अलग web.config फ़ाइल में डालकर 404 त्रुटि लौटाती है (हालांकि मुझे यकीन है कि आईआईएस में यह त्रुटि का प्रकार बदला जा सकता है)। – Tiffany

1

उस फ़ोल्डर से IIS_IUSR अनुमतियां निकालें।

मुझे लगता है कि अपने सामान्य रूप से "इंटरनेट अतिथि खाता"

+3

यदि आप करते हैं कि, आप उन फ़ाइलों को वेब एप्लिकेशन के माध्यम से एक्सेस करने की किसी भी क्षमता को अवरुद्ध भी कर सकते हैं, जो कि संभवतः नहीं है। –

+0

मैं आईआईएस_आईयूएसआर को हटा रहा हूं, मेरे मामले में काम करेगा, मैं वहां उपयोगकर्ताओं को अपलोड करना चाहता हूं, अब मैं सी: ड्राइव पर वेबसाइट फ़ोल्डर के बाहर कहीं भी उन्हें सहेज रहा हूं, और इस अपलोड फ़ोल्डर में आईआईएस_आईयूएसआर अनुमति नहीं है और मैं अभी भी कर सकता हूं इसे मेरे वेबसाइट कोड से एक्सेस करें। –

2

लिंक-केवल उत्तर के मुताबिक, hiddenSegments नौकरी के लिए सही उपकरण है। IIS पर जाएं और FeaturesRequest Filtering (Server Manager पर स्थापित होना चाहिए) अब निर्देशिका नाम जोड़ें जिसे आप एक्सेस को रोकना चाहते हैं, या यूआरएल के किसी सेगमेंट में वास्तव में। यह दृष्टिकोण की आवश्यकता है कि एक अनूठा यूआरएल या निर्देशिका का नाम URL में किसी भी स्तर पर, साइट में इस्तेमाल किया जा खंड के अन्यथा किसी अन्य घटना, उस अनुरोध का कारण होगा अवरुद्ध हो रहे हैं:

http://www.iis.net/configreference/system.webserver/security/requestfiltering/hiddensegments

संबंधित मुद्दे