2013-07-29 8 views
11

का सही उपयोग, मेरी वेबसाइट में, लॉग इन करने वाले उपयोगकर्ता अपनी प्रोफ़ाइल चित्रों को बदलने में सक्षम हैं, और इस प्रक्रिया में अपलोड की गई छवि को वेबसाइट की रूट निर्देशिका में किसी फ़ोल्डर में सहेजना शामिल है।<पहचान impersonate = "true" />

जब मैंने इसका परीक्षण किया, तो मुझे एक त्रुटि मिली कि मुझे अनुमतियों का उपयोग करके इस विशिष्ट फ़ोल्डर तक पहुंच प्रदान करनी चाहिए।

मैं नियंत्रण कक्ष, एक है जो ने कहा है कि वह अनुदान छवियाँ एक दूसरों को पढ़ें और लिखें अनुमतियाँ फ़ोल्डर किया पर नियंत्रण नहीं है।

परीक्षण के बाद इसे फिर से, एक बार फिर से एक ही गलती है, इसलिए मैं web.config संपादित और शामिल हैं:

<identity impersonate="true"/> 

और अब सब कुछ पूरी तरह से काम करने लगता है। लेकिन, मैंने अभी क्या किया? क्या कोई सुरक्षा जोखिम है? क्या मैंने हर किसी के लिए अपनी वेबसाइट पर अनाम पहुंच प्रदान की?

उत्तर

10

लेकिन, मैंने अभी क्या किया?

अब आप ग्राहक वेबसाइट की पहचान के तहत अपनी वेबसाइट चला रहे हैं।

क्या कोई सुरक्षा जोखिम है?

यह इस खाते पर सर्वर की अनुमतियों पर निर्भर करेगा। आम तौर पर उन खातों के साथ वेबसाइट चलाने के लिए यह बुरा व्यवहार है जिसमें बहुत से विशेषाधिकार हैं। आदर्श रूप में आपको अपनी वेबसाइट को उस खाते के तहत चलाने के लिए कॉन्फ़िगर करना चाहिए जिसे आप स्पष्ट फ़ोल्डर्स को विशेषाधिकार प्रदान करते हैं।

आपके दृष्टिकोण में समस्या यह है कि यदि कोई अन्य उपयोगकर्ता जिस पास निर्दिष्ट फ़ोल्डर तक पहुंच नहीं है, तो आपकी वेबसाइट पर जाता है, यह उसके लिए काम नहीं करेगा। यदि दूसरी तरफ यह व्यवहार की उम्मीद है तो आप शायद उपयोगकर्ता पहचान का प्रतिरूपण करके ठीक हो।

क्या मैंने सभी के लिए अपनी वेबसाइट पर अनाम पहुंच प्रदान की?

नहीं, इसका प्रमाणीकरण के साथ कुछ लेना देना नहीं है।

+0

चूंकि मेरे पास नियंत्रण कक्ष तक पहुंच नहीं है, इसलिए मुझे अपने आप से विशेषाधिकारों का परीक्षण करने के लिए मजबूर होना पड़ता है क्योंकि उस लड़के से संपर्क करना दर्द होता है। वैसे भी, मैंने फ़ोल्डर तक पहुंचने का प्रयास किया, और इसे प्रतिबंधित किया गया (प्रतिरूपण के तहत = सच), यह सुनिश्चित करने के लिए मैं और क्या परीक्षण कर सकता हूं कि सब कुछ सुरक्षित है? (मुझे यह भी पता नहीं है कि यह सही है या नहीं :() –

+0

जैसा कि मैंने पहले ही अपने उत्तर में समझाया है, आपको शायद प्रतिरूपण का उपयोग नहीं करना चाहिए। –

2

आपने जो किया है उसे उपयोगकर्ता के रूप में लॉग इन करने के लिए उपयोगकर्ता अधिकार दिए गए हैं।

और प्रतिरूपण को सही बनाने के लिए सुरक्षा जोखिम है।

आप उत्पादन पर कर रहे हैं, मैं सुझाव है आप इस लेख http://support.microsoft.com/default.aspx?scid=kb;en-us;329290

"प्रतिरूपण का उपयोग में web.config आप ओवरराइड करने के लिए जो कुछ भी पहचान आवेदन पूल एप्लिकेशन के तहत चल रहा है के लिए कॉन्फ़िगर किया गया था की अनुमति देता है पढ़ने के लिए - यह पहचान को नियंत्रित करने के लिए एक और अधिक बढ़िया विधि है (ऐप स्तर बनाम एप्लिकेशनपूल स्तर पर), ताकि आप एक ही ऐपपूल पर दो ऐप्स चला सकें, लेकिन उनमें से एक दूसरी पहचान का उपयोग करने के लिए प्रतिरूपण का उपयोग करता है।" सौजन्य: App pool identity versus impersonation identity?

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

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