2012-03-24 13 views
5

मुझे Drupal 7 पर एक साइट विकसित करने की आवश्यकता है। मेरे पास सीसीके में फ़ाइल फ़ील्ड्स के साथ कुछ सामग्री प्रकार हैं। और इन प्रकार के नोड्स तक पहुंच केवल विशिष्ट ड्रूपल उपयोगकर्ता भूमिका के लिए दी जानी चाहिए। और किसी भी समय साइट व्यवस्थापक इन नोड्स 'सार्वजनिक' या 'निजी' बनाने में सक्षम होना चाहिए।Drupal 7: विशिष्ट उपयोगकर्ता भूमिकाओं में फ़ाइल पहुंच को प्रतिबंधित करने के लिए कैसे करें

मैं विशिष्ट उपयोगकर्ता भूमिकाओं के लिए केवल नोड्स को दृश्यमान बना सकता हूं, लेकिन यह पर्याप्त सुरक्षित नहीं है। अगर अनाम उपयोगकर्ता फ़ाइल (www.mysite.org/hidden_files/file1) के पथ को जानता है, तो वह इसे डाउनलोड कर सकता है।

इस समस्या को हल करने का सबसे शानदार तरीका क्या है?

अग्रिम धन्यवाद।

+0

मैंने इस मॉड्यूल का उपयोग नहीं किया है, लेकिन मैं इसे स्थापित करने जा रहा हूं। यह आपको भूमिका से फ़ाइलों तक पहुंच प्रतिबंधित करने की अनुमति देता है। https://drupal.org/project/file_access –

+1

भूमिका द्वारा निजी फ़ाइलों का एक अन्य प्रतिबंध है, लेकिन अल्फा https://drupal.org/project/private_files_download_permission –

उत्तर

9

यहाँ इस दस्तावेज़ की जाँच करें: http://drupal.org/documentation/modules/file

विशेष रूप से, शीर्षक "प्रबंध फ़ाइल स्थानों और पहुँच" जो एक निजी डेटा स्टोर की स्थापना के बारे में बात करती खंड (सभी Drupal 7 द्वारा समर्थित है, यह सिर्फ विन्यस्त किया जा करने की जरूरत है) ।

व्याख्या करने के लिए, एक फ़ोल्डर बनाने के जैसे:

साइटों/डिफ़ॉल्ट/फ़ाइलें/निजी

के लिए सीधी पहुँच को रोकने के लिए निम्नलिखित के साथ उस फ़ोल्डर में एक .htaccess फ़ाइल रखो वेब के माध्यम से फ़ाइलें:

सभी

से इंकार

Drupal के व्यवस्थापक में

लॉग (प्रलेखन कि निम्न चरण ऊपर दिए गए चरणों स्वचालित रूप से करता है, मुझे लगता है कि दुर्भाग्य से परीक्षण नहीं किया है, लेकिन आप अगर आप उपरोक्त दो चरणों पर कुछ समय बचाने के लिए सक्षम हो सकते का दावा है) इंटरफ़ेस, /व्यवस्थापक/config/media/file-system पर जाएं, निजी URL को कॉन्फ़िगर करें और डिफ़ॉल्ट डाउनलोड विधि के रूप में Drupal द्वारा प्रदत्त निजी फ़ाइलों का चयन करें।

आदेश नोड्स और क्षेत्रों के लिए सुक्ष्म पहुँच को परिभाषित करने के लिए, आपको सामग्री पहुँच का उपयोग कर सकते हैं:http://drupal.org/project/content_access

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

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

उम्मीद है कि इससे मदद मिलती है।

+1

असल में नहीं, आप भी के बाहर होने के लिए निजी निर्देशिका सेट कर सकते हैं अपने वेब रूट, जैसे (सर्वर रूट के सापेक्ष)/घर/[आपका खाता]/निजी। सुनिश्चित करें कि निर्देशिका Drupal द्वारा लिखने योग्य है, जो आपके सर्वर कॉन्फ़िगरेशन के आधार पर विभिन्न अनुमतियों और समूह विशेषाधिकारों के विभिन्न प्रकार हो सकती है। – Alex

+0

बहुत बहुत धन्यवाद! मैं इस जवाब को 'स्वीकृत' के रूप में चिह्नित करता हूं। क्षमा करें, इसे 'उपयोगी' के रूप में चिह्नित करने में सक्षम नहीं है, क्योंकि मेरे पास प्रतिष्ठा है <15 – mechmsk

+0

कोई चिंता नहीं, सहायता के लिए खुश हैं। – Alex

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