আপনার পছন্দমতো apache
বা nginx
উত্পাদনে জনপ্রিয় সার্ভারগুলির দ্বারা প্রদত্ত সেন্ডফিল এপিআই ব্যবহার করা উচিত । বহু বছর ধরে আমি ফাইলগুলি সুরক্ষার জন্য এই সার্ভারগুলির সেন্ডফিল এপিআই ব্যবহার করছিলাম। তারপরে এই বিকাশ ও উত্পাদন উভয় উদ্দেশ্যেই উপযুক্ত উদ্দেশ্যে একটি সাধারণ মিডলওয়্যার ভিত্তিক জ্যাঙ্গো অ্যাপ্লিকেশন তৈরি করেছে You আপনি উত্স কোডটি এখানে অ্যাক্সেস করতে পারেন ।
আপডেট: নতুন সংস্করণে python
সরবরাহকারী FileResponse
জ্যাঙ্গো ব্যবহার করলে ব্যবহার হয় এবং লাইটথটিপি, ক্যাডি থেকে হিয়াওয়থা পর্যন্ত অনেকগুলি সার্ভার বাস্তবায়নের জন্য সমর্থন যোগ করে
ব্যবহার
pip install django-fileprovider
- সেটিংসে
fileprovider
অ্যাপ্লিকেশন যুক্ত করুন INSTALLED_APPS
,
- যোগ
fileprovider.middleware.FileProviderMiddleware
করার জন্য MIDDLEWARE_CLASSES
সেটিংস
FILEPROVIDER_NAME
সেটিংস সেট আপ করুন nginx
বা apache
উত্পাদন করুন, ডিফল্টরূপে এটি python
উন্নয়নের উদ্দেশ্যে purpose
আপনার শ্রেণিবদ্ধ বা ফাংশন ভিউগুলিতে প্রতিক্রিয়ার শিরোনামের X-File
মানটি ফাইলের নিখুঁত পথে সেট করে। উদাহরণ স্বরূপ,
def hello(request):
// code to check or protect the file from unauthorized access
response = HttpResponse()
response['X-File'] = '/absolute/path/to/file'
return response
django-fileprovider
এমনভাবে প্ররোচিত করা হয়েছে যাতে আপনার কোডটিতে কেবল সর্বনিম্ন পরিবর্তনের প্রয়োজন হবে।
এনগিনেক্স কনফিগারেশন
সরাসরি অ্যাক্সেস থেকে ফাইল রক্ষা করতে আপনি কনফিগারেশনটি সেট করতে পারেন
location /files/ {
internal;
root /home/sideffect0/secret_files/;
}
এখানে nginx
কোনও অবস্থান url /files/
কেবল ইন্টার্নি অ্যাক্সেস সেট করে , আপনি যদি উপরের কনফিগারেশন ব্যবহার করে থাকেন তবে আপনি এক্স-ফাইলটি সেট করতে পারেন,
response['X-File'] = '/files/filename.extension'
এনজিএনএক্স কনফিগারেশন দিয়ে এটি করার মাধ্যমে ফাইলটি সুরক্ষিত হবে এবং আপনি জাজানো থেকে ফাইলটি নিয়ন্ত্রণ করতে পারবেন views