طریقه ی تولید لینک غیر مستقیم؟

irmetal

Member
با سلام.
1-چطور میشه توی پی اچ پی چیزایی رو که کاربران آپلود می کنن وقتی می خوان دانلود کنن لینکشون مجازی باشه و همون لینکی نباشه که روی سروره...
2-آیا پوشه ای که پرمیشن اون 777 هست که فایل هامون رو توی اون آپلود می کنیم یه حفره امنیتی به حساب نمیاد؟اگر آره راه چاره چیه؟!
در کل یه سیستم آپلود می خوام بذارم که چیزی مثل همین مدیریت پیوست همینجا باشه...که کاربرا بتونن توی پست خودشون فایل هم آپلود کنن.
با تشکر.
 
آخرین ویرایش:

foranyone

Well-Known Member
با سلام.
1-چطور میشه توی پی اچ پی چیزایی رو که کاربران آپلود می کنن وقتی می خوان دانلود کنن لینکشون مجازی باشه و همون لینکی نباشه که روی سروره...
2-آیا پوشه ای که پرمیشن اون 777 هست که فایل هامون رو توی اون آپلود می کنیم یه حفره امنیتی به حساب نمیاد؟اگر آره راه چاره چیه؟!
در کل یه سیستم آپلود می خوام بذارم که چیزی مثل همین مدیریت پیوست همینجا باشه...که کاربرا بتونن توی پست خودشون فایل هم آپلود کنن.
با تشکر.


برای لینک داینامیک :

ایده ای که به ذهن من میرسه اینه که هربار دایرکتوری Rename شه !

آدرس ساده نباشه و دیکد شه !

با تاریخ درخواست فایل URL ساخته شه !

و...

پرمیژن رو میشه با برنامه نویسی تغیر داد موقع آپلود 777 کرد بعد از این حالت درش آورد !
 

k2-4u

Well-Known Member
و اگر برای فولدری با پرمیشن 777
یک فایل htaccsess مناسب بگذارین
مشکل حل میشه
 

tarhebartar

Member
البته من منظور شما رو اینجوری برداشت کردم که نشه فایل رو کسی دیگه از جایی دیگه دانلود کنه , من برای یه پروژه دارم این کار رو می کنم , چون فایل هاشون مجانی نیست و باید برای دریافت پول بدی !

من از readfile استفاده می کنم , البته ما سرور اختصاصی داریم و مشکل پهنا باند هم نداریم !

به این صورت عمل می کنم که اول تعداد دفعات دانلود رو میگیرم و بعد مشخصات یوزر و بعد فایل رو میدم دانلود کنه ! اینجوری هیچ بنی بشری نمی تونه سیستم رو دور بزنه , البته تا اونجایی که من کار کردم , نمی دونم والا دست بالای دست بسیار است , شاید کسی بتونه , ولی نه نمیشه :lol:

لینک فایل ها رو هم به این صورت میشه داد :

کد:
http://site.com/user/download.php?file=4525

برای اطلاعات بیشتر در مورد این تابع به لینک زیر برید :

کد:
http://ir.php.net/readfile
 

k2-4u

Well-Known Member
می تونین یک جدول در دیتابیس
با نوع . دودویی درست کنید
بعد فایل ها رو بریزین تو دیتابیس
 

my friend

Member
یه کلید میدم دستتون، با سرچ کردن میتونید اطلاعات بیشتری پیدا کنید:

برای پشتیبانی از resume در آپلود، از متغیر زیر استفاده کنید:
PHP:
$_SERVER['HTTP_RANGE']

برای limit کردن سرعت، از ()sleep استفاده کنید (توی یک حلقه، به این صورت که مثلا پس از خوندن هر 4096 بایت(برای 4KBps)، یک ثانیه متوقف بشه و دوباره ادامه پیدا کنه.
برای دقیق تر کردن سرعت دانلود، از ()usleep استفاده کنید.

برای خوندن فایل، از توابع fopen, fread, fseek, feof, filesize, fclose استفاده کنید.

http header های مورد نیاز، احتمالا توی manual سایت php موجود باشه.
http://php.net/header
 
آخرین ویرایش:

foranyone

Well-Known Member
می تونین یک جدول در دیتابیس
با نوع . دودویی درست کنید
بعد فایل ها رو بریزین تو دیتابیس


فکر نمیکنم راه حل مناسبی باشه بعد از یه مرزی دیتابیس سنگین میشه و سرعت سایت میاد پائین

اگه سرور اختصاصی نباشه احتمالا تذکراتی از مسئول سرور دریافت شه !
 

irmetal

Member
با سپاس بی نهایت از لطف همه ی دوستان.اگر در پیاده سازی ایده ها و راهنمایی های دوستان مشکلی داشتم دوباره مطرح می کنم.باز هم سپاس.
 

جدیدترین ارسال ها

بالا