الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حماية الملفات من التحميل

مغلق
بدأه عود في 2 نوفمبر 2005 · 15 رد · 1,409 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي موقع عليه بعض الملفات التي نسمح للاعضاء فقط بتحميلها

كيف أحمي هذه الملفات بحيث يحملها المشتركون بالموقع فقط؟

السؤال الرئيسي هو : اذا حمل أحد الاعضاء المشتركين الملف ، فأكيد سيعرف مسار الملف على السيرفر

وممكن يعطيه لأعضاء آخرون

فكيف أمنع تحميل الملف الا بعد عمل authentication للشخص الذي يحاول التحميل لمعرفة اذا كان مشترك أم لا؟

فاذا كان مشترك أسمح له بالتحميل واذا لم يكن مشترك لا اسمح له

وشكرا

#3

السلام عليكم

شكرا لك أخي ، لكن ليس هذا ما أقصده

ما أقصده هو اذا كان عنوان موقعي هو: www.any.com وعندي ملف هو f123.rar على المسار التالي: www.any.com/f123.rar

سؤالي هو : اذا كتب اي زائر لموقعي هذا العنوان: www.any.com/f123.rar فمن الطبيعي ان يبدأء التحميل للملف f123.rar

ما أريده هنا هو التحكم في هذه العملية ، أي اطلب من اليوزر تسجيل الدخول أولا ، ثم اسمح أو أمنع تحميل الملف حسب صلاحيات هذا اليوزر وأيا كان البرنامج الذي يستخدمه للتحميل

فكيف يمكنني عمل ذلك؟

وشكرا

#4

وعليكم السلام ورحمة الله

أخي الفاضل هل جربت المثال الموجود في صفحة الرابط ؟

جربها فهي إن شاء الله ما تريد

#5

طبعا يمكتك حماية منطقة التحميل نفسها ، وهذا أمر بسيط إن شاء الله تعالى

#6

يمكنك أن تمنع صلاحيات القراءة من على المجلد الذي تحفظ فيه الملفات القابلة للتحميل... و أعتقد هذا يحتاج لأن يكون نظام الملفات NTFS لتحديد هذه الصلاحيات

و الله أعلم

بالنسبة للمثال في منتدى المحيط فهو مثال جيد و لكن اذا جربت أن تكتب اسم الملف بالكامل في الurl مثلاً

http://localhost/uploadfile/uploads/myfile.any سيتم تحميل الملف عادي

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#7

كما ذكر الأخ الكريم محمد حسام يمكن تحميل الملف إذا تمت كتابة المسار كاملاً ، ولكن مزية هذه الطريقة أن مجلد تخزين الملفات يكون غير معروف أصلاً والذي يعرف فقط هو عنوان صفحة التحميل والتي تحمل البارمترات الخاصة بالملف المراد تحميله ، لذلك لا يستطيع أحد الوصول ومعرفة مكان تخزين الملفات ، وهذا في الغالب الأسلوب الذي يستخدم لحماية مرفقات المشاركات في المنتديات ، ويمكن أيضاً حماية صفحة DOWNLOAD.ASPX بحيث لا يمكن الوصول إليها إلا من خلال الأعضاء المسجلين فقط

إن شاء الله تعالى سأقوم بالتعديل المناسب على كود الأخ الكريم عبد الله ، حتى يتضح المقال ، وأرفقه للإخوان بإذن الله تعالى

#8

هذا المشروع بعد تعديله ، ويلاحظ انه تمت حماية صفحة التحميل بكلمة مرور واسم مستخدم

لمزيد من التفاصيل يرجى الرجوع لهذا الموضوع في توضيح عن الصلاحيات

/index.ph...view=getnewpost

uploadfile.rar

#9

بارك الله فيكم وجزاكم خيرا

جاري تجربة المثال وسأخبركم بالنتيجة ان شاء الله تعالى

#10

السلام عليكم

تم تجربة الطريقة المقترحة وهي ممتازة وتفي بكل المتطلبات

لكن

الملفات المتاحة للتحميل لا تقل عن 150 ميجا أي أنها كبيرة الحجم الطريقة المقترحة تسبب بدء التحميل بعد فترة طويلة كما أنها تستهلك المصادر

وهناك مشكلة أخرى ، وهي اننا نريد ان يتمكن المستخدم من استخدام مسرعات التحميل مثل Download accelerator وغيرها وهذا غير متاح في هذه الطريقة

نصحنى أحد الأخوة باستخدام httpHandler ليقوم بالتحكم في التحميل وتشفير مسار الملف

لكن الفكرة غير مكتملة في ذهني

أرجو المساعدة والمشاركة بالافكار

#11

وعليكم السلام

الأمر بسيط

قم بنسخ الرابط كما هو ثم قم بلصقه في برنامج التحميل لديك وليكن مثلاً ReGet وهو سيكتشف الملف ويقوم بتحميله ، وكذلك يمكنك ضبط إعدادات البرنامج لديك كي يستشعر تحميل الملفات ويلتقطها ، طبعاً كل هذا يفترض فيه ان تكون قد سجلت الدخول فعلاً

جرب

وأخيراً أرجو ان تكون نوعية الملفات التي ستستخدم ليس فيها معصية لله تعالى مثل الفيديو كليب وغيره

:)

بارك الله لك

#12

اخي الغزيز يمكنك استخدام احدي الحلين

1- منع المستخدم من الوصول الي الصفحة الا اذا كان Authenticated

2- عمل صفحة وسيطة بمني حين يضغط المستخدم علي اللينك , تعمل ريديركت لهذي الصفحة و في ال Page_Load تشوف اذا كان Authenticated و لا لأ.

#13

السلام عليكم

الأخ الفاضل محم النحراوي بارك الله فيك وشكرا جزيلا لك ولكل الأخوة الذين شاركوا

توجد الان مشكلتين اساسيتين وأعتقد أن حلهما سيكون واحد باذن الله (يعني هنضرب عصفورين بحجر)

المشكلتين هما:

1- عدم دعم إكمال تحميل الملف Resuming download

2- في حالة كون الملف كبير الحجم (وهذا هو الحال ) سيكون هناك ضغط كبير جدا على مصادر السيرفر server resources وهذا مالا نرغب فيه

الحل المقترح:

السماح بتحميل الملف على هيئة chunks صغيرة نوعا ما مما يساعدنا على الاتي:

1- دعم إكمال تحميل الملف

2- عدم الضغط على مصادر السيرفر

3- متابعة نشاط المستخدم بدقة (أكمل تحميل الملف / لم يكمل التحميل / أكمل أجزاء معينة فقط من التحميل ---> يمكننا ان نحصل من ذلك على معلومات دقيقة بخصوص عدد الملفات التي تم تحميلها بالفعل ، الباندويدث المستخدم فعليا من المستخدم)

كدة ضربنا حوالي 4-5 عصافير بحجر واحد :)

سأجرب الطريقة المقترحة وسأخبركم بالنتيجة ان شاء الله

وياريت أي حد عنده ملاحظات أو اقتراحات يشارك بها

أدعوا لي بالتوفيق :)

#14

السلام عليكم

مرفق المشروع بعد التعديل

التعديل هو : تسريع تحميل الملف بدون استهلاك مصادر السيرفر

يتم التحميل عن طريق browser downloader

هذه الطريقة تدعم إكمال التحميل في وقت لاحق

(عند التحميل حاول تعمل cancel ثم حاول تحميل الملف مرة أخرى ، ستلاحظ انه سيكمل التحميل ولن يبدأ من الاول)

المميزات:

1- السرعة

2- عدم استهلاك مصادر السيرفر

3- دعم استكمال التحميل

4- دعم إضافة الاكواد لمتابعة تحميل الملفات وتحديد الباندويدث لليوزر بدقة

5- حماية الملفات ، حيث يبقى المسار الحقيقي للملف مختفي عن اليوزر

6- حماية الملفات حيث يجب على المستخدم تسجيل الدخول أولا حتى يسمح له بالتحميل

العيوب:

1- عدم دعم استخدام مسرعات التحميل مثل: Download Accelerator

أرجو أن تجربوا المشروع وتخبرونا بآرائكم واقتراحاتكم

uploadfile.rar

تم تعديل هذه المشاركة بواسطة عود في 6 نوفمبر 2005 في 23:21

#15

وعليكم السلام

جزاك الله خيراً

وإن شاء الله تطور عليها أكثر

بالتوفيق

#16

أرجو من كل من حمل المشروع بعد التعديل انه يجربه ويقوللي رأيه

والمميزات والعيوب التي وجدها

عشان نقدر نطوره أكثر

وشكرا

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…