2008-12-01 11 views
5

उपयोगकर्ताओं से अपलोड की गई फ़ाइलों को संग्रहीत करने के सर्वोत्तम अभ्यास क्या हैं?फाइल सिस्टम में अपलोड की गई फ़ाइलों को संग्रहीत करने के लिए सर्वोत्तम अभ्यास

वर्तमान में, मैं फ़ाइलों को संग्रहीत करने के लिए निम्न विधि के दौरान हूँ:

<web_app_root>/course_material/<term_id>/<course_id>/<file_id> 

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

हालांकि, मैं एक नई परियोजना शुरू कर रहा हूं और जानना चाहता हूं कि किसी वेब ऐप की फाइल सिस्टम को डेटाबेस के साथ इतनी बारीकी से बांधना बुरा विचार था या नहीं। क्या मुझे फ़ाइलों को अधिक मानव पठनीय प्रारूप में स्टोर करना चाहिए?

<web_app_root>/course_material/<term_name_underscored>/<course_name_underscored>/<file_name_underscored> 

यदि हां, तो फ़ाइल नामों को सुरक्षित रखने के सर्वोत्तम तरीके क्या हैं? या जिस तरह से मैं वर्तमान में इसे सबसे अच्छा अभ्यास कर रहा हूं?

उत्तर

0

मैं आपको वेब_एप_रूट से बाहर लेने का सुझाव देता हूं।

मुझे पसंद है कि आप पहले उदाहरण में क्या कर रहे हैं।

+0

जब तक फ़ाइल निर्देशिका htdocs निर्देशिका से बाहर है, तब तक सब ठीक ठीक होना चाहिए? मैं सिर्फ अपनी निर्देशिका में एक विशिष्ट परियोजना से संबंधित सब कुछ रखना चाहता हूं। – rlorenzo

+0

वास्तव में सुरक्षा के बारे में बात कर रहे हैं। लेकिन एक अलग डिस्क बेहतर समाधान imho है। – user32415

1

मैंने हमेशा अद्वितीय GUID आधारित फ़ाइल नामों वाली फ़ाइलों में फ़ाइलों को संग्रहीत किया है, और डीबी में फ़ाइल में guid मैप किया है। जब तक आप फ़ाइलों को मैन्युअल रूप से ब्राउज़ नहीं कर रहे हैं और इस तरह, यह शायद सबसे आसान समाधान है (अमान्य वर्णों के आसपास भी हो जाता है)।

एक और विकल्प डेटाबेस में BLOBS के रूप में संग्रहीत कर रहा है। मैंने यह भी किया है - लेकिन यह एक दोहराया गया डीआर परिदृश्य भरना था, जो आधुनिक NAS उपकरणों को संभालना चाहिए।

यदि आपको किसी कारण से ऐप के बाहर फ़ाइलों को मैन्युअल रूप से ब्राउज़ करने की आवश्यकता दिखाई देती है, तो लंबे या छोटे नाम का उपयोग करके (हालांकि आप उन्हें ब्राउज़ करना चाहते हैं) क्लीनर होगा।

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

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