سلام دوستان. خسته نباشید و وفتتون بخییر
فرض کنبم که من یک وبسایتی دارم که با لاراول نوشته شده و در اون فایل هایی به فروش میرسه. اگر بخوایم از دانلود فایل ها توسط افرادی که اون ها رو خریداری نکردن جلوگیری کنبم کافیه که فایل ها رو در لاراول در دایرکتوری storage قرار بدبم و توسط یک روت که میدلور auth رو داره به اون فایل دسترسی غیر مستقیم بدیم.
ولی اگه فایل ها روی یک سرور دانلود قرار داشته باشه چی؟؟؟ این مساله در لاراول چطور پیاده سازی میشه و چطور می تونیم از دانلود فایل ها توسط افرادی که اون ها رو خریداری نکردن جلوگیری کنبم؟
ممنون از وقتی که میذارید
@hesammousavi
سلام
روی خود لاراول که می تونید با signed route ها این کار رو انجام بدید. اما روی هاست دانلودی که دیتابیس نداره و نمیشه لاراول نصب کرد باید خودتون اسکریپت نویسی کنید با php من خودم روی این موضوع کار کردم همین مشکل رو داشتم اما تنها راهی که به ذهنم رسید وجود این هست که جدول کاربرها رو با json روی هاست دانلود منتقل کنید و یه جای امن نگه دارید و براساس اون اسکریپتی رو بنویسید که لینک های زماندار امن به وجود بیاره. در غیر این صورت باید روی هاست دانلود نیز لاراول داشته باشید. اگه دوستان نظری دارن مطرح کنن که ببینیم میشه این موضوع رو حل کرد.
@farhadkb6868
@juza66
معمولا فروشگاه های فایل دانلود چندانی ندارن یعنی مثل دانلود سنتر ها نیستند و میشه از این روش که بنده می گم هم استفاده کنید البته روش دیگه ای هم هست که اگه خواستید بعدا می گم.
ابتدا به ساکن شما می تونید زمانی که درخواست برای دانلود فرستاده شد با استفاده از ریموت دانلود فایل رو منتقل کنید به هاست خودتون و سپس لینک غیر مستقیم که فایل رو هاست شما اومده رو به کاربر بدید و بعد از اتمام دانلود یا یه زمان مشخص اون فایل رو اتوماتیک حذف کنید.
یعنی توی جدول دیتابیس لینک مستقیم فایل رو می ذارین موقعی که کاربر درخواست داد تو لینک رو دانلود می کنه و بعد می ده به کاربر که این زمان هم می تونه عنوان مدت زمان برای اماده سازی فایل به کاربر نمایش داده بشه.
اگه نیاز به کد دقیق این روش دارید هم بفرمایید تا بدم خدمتتون.
سلام!
تاحالا سرور دانلود رو جداگانه استفاده نکردم
اما
طبق صحبت های شما که میشه روی سرور دانلود اسکریپت نوشت ، به نظرم میشه این شکلی عمل کرد
1- در header درخواست هایی که از سمت سرور اصلی به سرور دانلود میفرستیم یک token حاوی یک متغیر boolean بفرستیم که این متغیر بعد از احراز هویت در سمت سرور اصلی true بشه
2- در سمت سرور دانلود تنها این token را بازیابی کنیم و در صورتی که true بود اجازه دانلود داده بشه.
3- و برای امنیت بیشتر هم میشه تنظیم کرد که فقط درخواست api از یک ip خاص دریافت بشود.
مابقی دوستان لطفا در مورد تحلیلم نظر بدهند متشکرم.
مطابق گفته دوستمون @msdabbagh
مشکل اصلی اینجاست که چه جوری در سمت هاست دانلود احراز هویت انجام بشه چون اونجا دیتابیس نداریم. از سمت سرور درخواست رو به سمت هاست دانلود می فرستیم اما در سمت هاست دانلود از کجا می تونیم متوجه بشیم که این کاربر همان کاربر هست ؟ میشه یک سری اطلاعات رو از طریق json در هاست دانلود ذخیره کرد اما دو مشکل وجود داره.
یکی امنیت این اطلاعات و رد و بدل شدن بین سرور و هاست و یکی این که اگر چند صد هزار کاربر داشته باشی این قدر حجم فایل بالا می ره که بعد از یه مدت کلا هاست دانلود down میشه.
ابتدا به ساکن شما می تونید زمانی که درخواست برای دانلود فرستاده شد با استفاده از ریموت دانلود فایل رو منتقل کنید به هاست خودتون
اگر حجم فایل زیاد باشه که کلا پهنای باند رو تموم می کنه. تازه اگر این قدر فضا روی سرور داشتیم که هاست دانلود نمی خریدیم. @hunt.coders1989
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟