PDA

View Full Version : درخواست یک راهکار



php_love
شنبه 15 تیر 1392, 12:19 عصر
سلام

فرض کنید که کاربر بر رویه لینک مستقیمی که تو سایت شما بوده کلیک کرده . حال شما تو سایت دانلودتون که فایل ها رو نگه می دارید با استفاده از htaccess گفتید هر کسی که قصد دانلود داشت ابتدا وارد صفحه check.php بشه . حالا در صفحه check.php شما کاربر رو ارزیابی می کنید که آیا مجاز به دانلود هست یا خیر . فرض کنید که کاربر مجاز به دانلود بود . در اینجا از شما دوستان می خواستم راهکاری رو به من پیشنهاد کنید که کاربر بتونه با لینکه مستقیم و تمام سرعتش دانلود کنه . چرا که بعد از اینکه به کاربر اجازه دانلود میدیم فقط می تونیم (یا حداقل بنده می دونم) به صورت غیر مستقیم و با استفاده از توابع header - fopen و غیره مکانیزم دانلود رو برای کاربر فراهم کنیم که این امر افت شدید در سرعت دانلود کاربر پدید میاره .

می خواستم راهکاری بهم پیشنهاد کنید که بعد از اینکه کاربر رو مورد ارزیابی قرار دادم حالا اجازه دانلود مستقیم به کاربر بدم ؟

ممنون میشم کمکم کنید

hessam2003
شنبه 15 تیر 1392, 14:22 عصر
سلام.
ببینید هرچی کاربر در سایتی احساس راحتی کنه خب مسلما بیشتر به اون سایت مراجعه میکنه.
شما باید بعضی از ساختارها را بشکنید که کاربر راحتتر باشه و مجبور نشه مسیر زیادی را برای دانلود یک چیزی سپری کنه.
به نظر من اجازه دانلود مستقیم را بدبد.

afshin9032
شنبه 15 تیر 1392, 15:15 عصر
در این موارد بهتره یک کم به زبان انگلیسی جستجو کنی ، چون به زبان فارسی اطلاعات چندانی بدست نمیاری

php_love
شنبه 15 تیر 1392, 15:36 عصر
این سایتی که طراحی شده یک سایته فیلمه و مشتری می خواد لینکاش واسه اعضای ویژه قابل دانلود باشه . خوب من راهی ندارم جز اینکه قبل از اینکه کاربر فایل رو دانلود کنه اول کاربر رو ارزیابی کنم .
نمیشه بعد از اینکه تشخیص دادیم کاربر اوکی هستش لینکی برای کاربر درست کنیم که کاربر روش کلیک کنه و مکانیزمی تو اون لینک لحاظ شده باشه که باعث بشه htaccess رو دور بزنه ؟؟؟ :متفکر:

shahriyar3
شنبه 15 تیر 1392, 15:44 عصر
یک وبسرویس تعریف کنید با استفاده از وب سرویس چک کنید که کاربر مجوز داره یا نه.

php_love
شنبه 15 تیر 1392, 16:07 عصر
شهریار عزیز مشکله من چیزه دیگه ای هست . شما فرض کن که کاربر اجازه دانلود داره . یعنی اینکه با وب سرویس چک کردی و جوابه اوکی واست برگشته . حالا باید بهش اجازه دانلود بدی . من می خوام یه سازوکاری فراهم بشه تا کاربر با لینک مستقیم دانلود کنه . اگه بشه بعد از اینکه فهمیدیم کاربر اوکیه یک لینک واسش ظاهر کنیم که کاربر روش کلیک کنه تا بتونه لینک مستقیم دانلود کنه و تو اون لینک سازو کاری فراهم بشه تا htaccess دوره زده بشه و حداقل اینکه دوباره ما رو برنگردونه به صفحه ای که باید یوزر پس کاربر وارد کنه - به نظرم می تونه ایده خوبی باشه .

شما آیا تکنیکی سراغ دارید که تو htaccess از دستور شرطی استفاده بشه . یعنی اینکه بگیم اگر تویه لینک پارامتر user=valid وجود نداشت برو به صفحه check.php تا یوزر و پس بگیره ولی اگر این پارامتر وجود داشت دسترسی مستقیم به فایل رو به کاربر بده ؟؟؟؟ :متفکر:

php_love
شنبه 15 تیر 1392, 22:35 عصر
کسی با سیستمه rapid leech برای دانلود فایل آشنا نیست . می خوام بدونم rapid leech واسه دانلود فایل از چه تکنیک و توابعی استفاده می کنه ؟؟؟؟

php_love
یک شنبه 16 تیر 1392, 10:55 صبح
کسی نیست راهنمایی کنه ؟؟!!

php_love
دوشنبه 17 تیر 1392, 10:35 صبح
کسی تا به حال X-SendFile رو واسه Lite Speed کانفیگ نکرده . اگه کسی هست اعلام کنه هزینش هم تقدیم میشه .

php_love
جمعه 21 تیر 1392, 17:58 عصر
دوستان تازه فهمیدم که باید به جای X-sendfile‌ از X-LiteSpeed-Location استفاده می کردم .
اما این قطعه کدی که نوشتم خیلی عجیبه اگر فایلی که می خوای دانلود کنی عکس با هر سایزی باشه دانلود می شه اما غیر عکس هر فرمته دیگه ای امتحان کردم متاسفانه دانلود نشد . حالا فکر می کنید مشکل از چی باشه . آیا مشکل از تنظیماته یا مشکل چیزه دیگه ای . خواهشا کمک نیاز شدید به حل این مشکل دارم .


header("X-LiteSpeed-Location: /123.mkv");
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="123.mkv"');

حتی content-type اش رو برابر با video/x-msvideo قرار دادم ولی باز هم فایده ای نداشت !!!

دوستان اگه میشه راهنمایی کنند (شدیدا به کمک احتیاج دارم - ماه رمضانه ثوابه زیادی میبرین - در ضمن عزیزی که بتونه مشکلم رو حل کنه هزینه زحمتش رو هم پرداخت خواهم کرد)

rezaonline.net
جمعه 21 تیر 1392, 18:05 عصر
اینو تست کن
application/x-msdownload

یا این
video/mpeg

یا این

video/quicktime

rezaonline.net
جمعه 21 تیر 1392, 18:06 عصر
البته مسیری که تعریف کردی هم درست نیست !!!!

$addr = dirname(__FILE__)."/123.mkv";
header("X-LiteSpeed-Location: $addr");

php_love
جمعه 21 تیر 1392, 23:27 عصر
عزیز همه اونایی که گفتید رو تست کردم ولی متاسفانه فایده ای نداشت !!!!!!

Unique
جمعه 21 تیر 1392, 23:41 عصر
البته مسیری که تعریف کردی هم درست نیست !!!!
آقا رضا X-LiteSpeed-Location طریقه کارش شبیه Location هستش و باید url بدی نه file system path !


دوستان اگه میشه راهنمایی کنند (شدیدا به کمک احتیاج دارم
با توجه به صحبت هایی که کردیم و نتیجه ای که گرفتین به نظر من مشکل از X-LiteSpeed-Location نیست و شما باید جای دیگه ای محدودیت داشته باشین ! برای خطا Internal Error 500 تا log روی سرور را نبینیم نمیشه نظری داد ! ولی فکر میکنم مشکل از mime type هایی هست که X-LiteSpeed-Location بهشون دسترسی داره (مطمئن نیستم و فقط یک حدسه) شما png و mp3 و swf را چک کن اگه جواب داد قطعا موضوع mime type و دسترسی محدود شده هستش !

rezaonline.net
شنبه 22 تیر 1392, 02:52 صبح
مگه مثل X-Sendfile توی آپاچی نیست ؟

Unique
یک شنبه 23 تیر 1392, 00:21 صبح
مگه مثل X-Sendfile توی آپاچی نیست
چرا ، البته به صورت builtin ! اما url میگیره !