PDA

View Full Version : سوال: دانلود فایل



mostafa8266
چهارشنبه 04 دی 1387, 09:02 صبح
سلام
من می خوام امکان دانلود به اعضای یک سایت بدم ولی نمی خوام کسی لینک دانلود رو ببینه اگه دوستان لطف کنن بگن این کار رو چطوری می شه باphp انجام داد ممنون میشم.

Yousha
چهارشنبه 04 دی 1387, 09:37 صبح
Database هم دارید؟

heramtoos
چهارشنبه 04 دی 1387, 13:45 عصر
آیا هدفت ممانعت از لینک مستقیم توسط سایتهای دیگر است یا مسائل امنیتی را در نظر دارید بفرمایید تا من بر اساس همان راهکار در اختیارتان قرار بدهم

ravandi
چهارشنبه 04 دی 1387, 14:57 عصر
سلام
البته منم مثل همین سوال را دارم...دیتا بیس دارم و می خوام امکان دانلود را برای افراد خاص بر قرار کنم.برای کاربرانی که :
1) عضو سایت باشن
2) دارای سطح دسترسی خاصی هم داشته باشن


با تشکر

mostafa8266
چهارشنبه 04 دی 1387, 15:14 عصر
مثلا دو نفر با یک نوع کاربری وجود دارن که یکیشون می تونه یک فایل رو دانلود کنه و دیگری نه به دلیل مسائل امنیتی.
(فکر نمی کنم دلیل اینکه چرا می خوام این کار رو انجام بدم مهم باشه) من تمام کارهایی که باید برای چک کردن اینکه یک شخص می تونه یک فایل رو دانلود کنه یا نه رو انجام می دم ولی نمی دونم چه جوری باید اون فایل رو به اون شخص بدم تا لینکش رو نبینه.

heramtoos
پنج شنبه 05 دی 1387, 08:24 صبح
اولا اینکه گفتید
(فکر نمی کنم دلیل اینکه چرا می خوام این کار رو انجام بدم مهم باشه)
خیلی هم مهمه که سوال کردم
شما سعی کنید به عکسی که در سایت
http://fortest.org (http://fortest.org/)
قرار داره لینک بدهید یا آن را دانلود کنید می بینید که نمیشود
پس وقتی هدف ممانعت از لینک مستقیم یا دانلود توسط سایتهای دیگر باشد روش فرق میکند
ولی فکر کنم منظورتون رامتوجه شده باشم
شما حالت دوم را در نظر دارید
که من آن را مفصل برایتان میاورم
صرف داشتن لینک برای دانلود یک فایل کافی نیست
بعنوان مثال لینک
https://mail.google.com/mail/?ui=1&view=att&th=11e6c77c953b8619&attid=0.1&disp=attd&realattid=f_fp4xt2g2&zw
مربوط به یک فایل است که من توسط جی میل دریافت کرده ام
اما شما صرف دانستن این لینک حتی اگر به جی میل لاگین شده باشید(با نام کاربری خودتان) اجازه دسترسی به آن را ندارید
اما چگونگی کار
1-برای اینکه فقط اعضا بتوانند فایل لینک را دریافت کنند(با مشاهده لینک فعلا کاری نداریم) باید یک دانلود منجر داشته باشید که این دانلود منجر در اصل یک فایل پی اچ پی است که دسترسی به آن برای اعضا وجود دارد(با چک کردن سیشن) و تمام لینکهای دانلود مورد نظر باید به این فایل هدر لوکیشین شوند(و آدرس فایل اصلی با متد گت به انتهای آدرس فایل دانلود منجر اضافه شود مشابه کار جی میل)
2- شما باید به نحوی فرد یا گروهایی را که به یک فایل دسترسی دارند مشخص نمایید من خودم درج در دیتابیس را ترجیح میدهم بدین شکل که یک
access_id
برای هر فایل مشخص کنید و در جدول
access
آی دیهای آن را ثبت کنید
حال هروقت کنترلر پی اچ پی به «فایل منجر» شما مراجعه کرد اول چک کنید که آیا عضو است یا نه
در صورت عضو بودن سطح دسترسی را چک نمایید
و در صورت مثبت بودن تمام بررسیها به صورت پی اچ پی با دستور مشابه زیر

header('Location: '.$yourFileGoHere);
ریدایرکت نمایید به فایل اصلی که آدرس این فایل مخفی می ماند و عمل ریدایرکت در دل پی اچ پی انجام میشود
البته در صورتیکه بخواهی خیلی حرفه ای کارت را انجام دهی باید با
htaccess
دسترسی به پوشه ای که فایل مورد نظر در آن قرار دارد را محدود کنی
موفق باشی