في سيناريوهات معينة ، من الضروري منع الوصول المباشر إلى الملفات القابلة للتنزيل على موقع ويب. يوفر Django آليات لخدمة الملفات مع الحفاظ على الأمان عن طريق إخفاء مساراتهم من المستخدمين. يمكن بعد ذلك استخدام المسار الذي تم إنشاؤه في عنوان URL للتنزيل ، والذي يتم توجيهه إلى الخادم. هذا يضمن أنه لا يمكن للمستخدمين الوصول إلى الملفات عن طريق تخمين أو معالجة عناوين URL. للحصول على حل أكثر تبسيطًا ، ضع في اعتبارك ما يلي:
باستخدام x-sendfile أو x-accel-redirect:
يتيح أن يسمح بدمج X-sendfile أو x-accel-redirect مع apache أو nginx إلى django بشكل ملحوظ. يستخدم Apache رأس X-Sendfile ، بينما يستخدم Nginx X-Accel-Redirect. من خلال تعيين هذه الرؤوس في استجابة HTTP ، سيقوم الخادم باسترداد الملف مباشرة وإرساله إلى المستخدم. لتنفيذ هذه الطريقة:
تم توفير مثال باستخدام x-sendfile أدناه:استجابة = httpresponse (content_type = 'application/force-download') استجابة ["تحديد المحتوى"] = "المرفق ؛ اسم الملف = ٪ S '٪ Smart_Str (file_name) استجابة ['x-sendfile'] = smart_str (path_to_file) إرجاع استجابة
من خلال استخدام هذا النهج ، يمكن لـ Django تقديم ملفات قابلة للتنزيل بفعالية مع الحفاظ على الأمن وتوفير الوقت والجهد في التطوير.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3