"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Django छिपे हुए फ़ाइल पथ, फ़ाइलों का सुरक्षित डाउनलोडिंग

Django छिपे हुए फ़ाइल पथ, फ़ाइलों का सुरक्षित डाउनलोडिंग

2025-04-13 को पोस्ट किया गया
ब्राउज़ करें:615

] Django उपयोगकर्ताओं से अपने पथ को छुपाकर सुरक्षा बनाए रखते हुए फ़ाइलों की सेवा करने के लिए तंत्र प्रदान करता है। उत्पन्न पथ को तब डाउनलोड URL में उपयोग किया जा सकता है, जो सर्वर के लिए आगे की ओर है। यह सुनिश्चित करता है कि उपयोगकर्ता URL का अनुमान या हेरफेर करके फ़ाइलों तक नहीं पहुंच सकते हैं। अधिक सुव्यवस्थित समाधान के लिए, निम्नलिखित पर विचार करें:

How to Securely Serve Downloadable Files in Django by Obscuring File Paths?

का उपयोग करके x-sendfile या X-accel-redirect:

X-sendfile या X-accel-redirect मॉड्यूल को अपाचे या nginx के साथ एकीकृत करने के लिए Jangas को एकीकृत किया गया है, जो कि Saless को सर्वर से बाहर निकालता है। Apache X-Sendfile हेडर का उपयोग करता है, जबकि Nginx x-accel-redirect का उपयोग करता है। HTTP प्रतिक्रिया में इन हेडर को सेट करके, सर्वर सीधे फ़ाइल को पुनः प्राप्त करेगा और इसे उपयोगकर्ता को भेज देगा। X-sendfile का उपयोग करने वाला एक उदाहरण नीचे दिया गया है:

django.utils.encoding आयात स्मार्ट_स्ट्र प्रतिक्रिया = httpresponse (content_type = 'एप्लिकेशन/फोर्स-डाउनलोड') प्रतिक्रिया ['कंटेंट-डिस्पोजिशन'] = 'अटैचमेंट; फ़ाइल नाम = % s ' % smart_str (file_name) प्रतिक्रिया ['x-sendfile'] = smart_str (path_to_file) वापसी प्रतिक्रिया इस दृष्टिकोण को नियोजित करके, Django सुरक्षा को बनाए रखते हुए और विकास में समय और प्रयास की बचत करते हुए प्रभावी रूप से डाउनलोड करने योग्य फ़ाइलों की सेवा कर सकता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3