لینک دانلود

6 ماه پیش
توسط سیدعلی موسوی آپدیت شد
ali kiani ( 3104 تجربه )
6 ماه پیش

یه سایت آموزشیه میخوام لینک هایی که کاربرا دوره را خرید کردن مختص به همون فرد باشه یعنی لینک دانلود فقط مال همون فرد باشه راهنمایی کنید ممنون

سیدعلی موسوی ( 105214 تجربه )
6 ماه پیش
تخصص : سی شارپ و پی اچ پی

متوجه منظور شما نشدم؟!
یک سایت آموزشی داری میخوای کاربرانی که تویی دوره شرکت کردن بتونن ویدوها رو دانلود کنند؟!

یک جدول پرداختی داری تویی دوره ها دیگه (Payment)؟! Courses_id و User_id رو توش ذخیره میکنی دیگه؟!
قبل از اینکه بتونه دوره رو دانلود بزنه یا ببینه چک کن ببین تویی جدول پرداختی ها ایا دوره و کاربر وجود داره ؟! خرید اوکیه؟! بعدش بهش دسترسی بده

ali kiani ( 3104 تجربه )
6 ماه پیش

نه دوست عزیز منظورم اینه که هر لینک آموزشی مختص یه کاربر باشه و کاربر دیکه نتونه با همون آدرس دانلود انجام بده
مثلا لینک دانلود یه فایل اموزشی که شما خرید کردی و دانلود انجام دادی من نتونم با همون لینک فایلا دانلود کنم

سیدعلی موسوی ( 105214 تجربه )
6 ماه پیش
تخصص : سی شارپ و پی اچ پی

خب اینجوری باید بگم که شما لینک دانلود رو به فرض این شکلی مینویسن:

        $timestamp = Carbon::now()->addHours(5)->timestamp;
        $hash_code =  Hash::make('download_' . $request->course_id . \request()->ip() . $timestamp);

در بالا لینکی که ساخته میشه رو فقط کاربری که اون ای پی رو داره میتونه دانلودش کن و براش تایم هم گذاشتیم. شما بدلخواه جای اون ای پی ایدی یوزر رو بذار و سمت چک کردن و اجازه دادن دانلود هم کد زیر رو مینویسی:

<a class="btn btn-primary btn-block btn-lg"  href="/download/9?mac=$2y$10$Efpy7balkVOUCY2Z9QdhburRzw7A/j2K5acTjhLNGSp0IzZcpE8Za&t=1579052081">دانلود این قسمت</a>

که این کنترلر اجرا بشه

public function download($id, Request $request)
{
      $hash = 'download_' . $episode->id . $request->ip() .  $request->t;
      if(Hash::check($hash , $request->mac)) {
        return response()->download(storage_path($episode->linkDownload));
      }
}
برای ارسال پاسخ باید وارد سایت شوید