पासवर्ड-एक निर्देशिका की रक्षा, लेकिन उस निर्देशिका की फाइलें नहीं?


8

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

जवाबों:


9

अपने में यह प्रयास करें .htaccess:

Require valid-user

<Files ?*>
    Order allow,deny
    Allow from all
    Satisfy any
</Files>

यहां Require valid-userकिसी भी ज्ञात लॉगिन की आवश्यकता है। फिर आप उनके नाम में कम से कम एक चरित्र वाली फ़ाइलों के लिए इस प्रतिबंध में संशोधन करते हैं - यह वह है जो अनुभाग के ?*लिए गोलाकार पैटर्न <Files>से मेल खाएगा - जिसका प्रभावी अर्थ है कि संलग्न नियम फाइलों पर लागू होते हैं, लेकिन निर्देशिकाओं के लिए नहीं।

फ़ाइलों के लिए संशोधित नियमों में, कुंजी है Satisfy any। यह द्वारा संतुष्ट करने के लिए प्राधिकरण की अनुमति देता है या तो साख या आईपी पते। फिर आप किसी भी आईपी ​​पते को पारित करने की अनुमति देते हैं, इसलिए अनुरोध हमेशा अधिकृत होते हैं

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

जो आप चाहते थे।


0

हां, आप नाम या पैटर्न द्वारा फ़ाइलों और निर्देशिकाओं को सुरक्षित कर सकते हैं। .Ht * फ़ाइलों तक पहुँच को प्रतिबंधित करने के लिए आपको इसका उपयोग पहले से ही करना चाहिए। अपने अपाचे कॉन्फ़िगरेशन की जाँच करें। आवश्यक फ़ाइल पैटर्न '/ $' होगा।


0

LocationMatchडायरेक्ट्री सामान को डायरेक्टरी इंडेक्स तक सीमित करने के लिए उपयोग करें ।


<LocationMatch "/ Pictures"> AuthUserFile /home/asdasd/public_html/user5678/pictures/.htpasswd AuthGroupFile / dev / null AuthName / Restricted Directory "AuthType Basic" / LocationMatch> <Limit GET POST> को वैध-उपयोगकर्ता की आवश्यकता है। यह मेरी वर्तमान .htaccess फ़ाइल, / चित्रों में स्थित है। क्या मैं कुछ गलत कर रहा हूं? यह एक 500 आंतरिक सर्वर त्रुटि को वापस करने के लिए लगता है।

a) के बारे में पढ़ा LocationMatch, इसमें regex की आवश्यकता होती है। बी) आपको पाठ्यक्रम require valid-userके LocationMatchब्लॉक को अंदर रखने की आवश्यकता है ( Limitवैसे भी बयान क्यों ?)
मैरिएन

0

आप बस अपाचे को फ़ोल्डर के सूचकांक को प्रदर्शित करना बंद करना चाहते हैं। इसे .htaccess में रखें:

Options -Indexes

इस तरह से जब उपयोगकर्ता जाते हैं http://www.url.com/folder/, तो उन्हें एक निर्देशिका लिस्टिंग से इनकार किया जाता है। लेकिन जब वे जाते हैं तो http://www.url.com/folder/file.jpgवे फाइल देख सकते हैं।


1
यह नहीं पूछा गया था, यह अक्षम लिस्टिंग, पासवर्ड उन्हें सुरक्षा नहीं देता है
क्रिज़्सटॉफ़ बोशर्कुओ

-1

यदि आप चाहते हैं कि निर्देशिका सूची केवल अधिकृत उपयोगकर्ताओं को दिखाई दे, लेकिन किसी को भी एक फ़ाइल डाउनलोड करने की अनुमति दें (ताकि आप लोगों को लिंक भेज सकें), तो आपको कुछ प्रकार की स्क्रिप्ट (PHP, ASP, आदि) की आवश्यकता होती है, जो उपयोगकर्ता से माँगता है एक पासवर्ड और यदि वे इसे प्राप्त करते हैं तो निर्देशिका की सामग्री को प्रदर्शित करता है। आप इस स्क्रिप्ट को डायरेक्टरी में डालेंगे और इसे index.php नाम देंगे, ताकि यह डायरेक्टरी इंडेक्स जेनरेट करने के बजाय अपाचे के रूप में काम करे।


-1

हाँ। एक index.html फ़ाइल जोड़ें जो फ़ोल्डर की सामग्री को सूचीबद्ध करती है और .htaccess के साथ उस फ़ाइल तक पहुंच को प्रतिबंधित करती है। यदि आप चाहते हैं कि सूचकांक गतिशील हो तो आपको सूचकांक बनाने के लिए किसी प्रकार की स्क्रिप्ट (या सर्वर साइड शामिल) का उपयोग करना होगा।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.