متوجه منظور شما نشدم؟!
یک سایت آموزشی داری میخوای کاربرانی که تویی دوره شرکت کردن بتونن ویدوها رو دانلود کنند؟!
یک جدول پرداختی داری تویی دوره ها دیگه (Payment)؟! Courses_id و User_id رو توش ذخیره میکنی دیگه؟!
قبل از اینکه بتونه دوره رو دانلود بزنه یا ببینه چک کن ببین تویی جدول پرداختی ها ایا دوره و کاربر وجود داره ؟! خرید اوکیه؟! بعدش بهش دسترسی بده
نه دوست عزیز منظورم اینه که هر لینک آموزشی مختص یه کاربر باشه و کاربر دیکه نتونه با همون آدرس دانلود انجام بده
مثلا لینک دانلود یه فایل اموزشی که شما خرید کردی و دانلود انجام دادی من نتونم با همون لینک فایلا دانلود کنم
خب اینجوری باید بگم که شما لینک دانلود رو به فرض این شکلی مینویسن:
$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));
}
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟