با سلام . چگونه می توان از دانلود بیش از حد یک فایل در لاراول جلوگیری کرد ؟ فرض کنید یک فایل مثلا pdf کاتالوگ محصولات را در سایت برای دانلود گذاشته ایم و میخواهیم یک IP نتواند آن فایل را بیش از حد دانلود کند . من برای کلیه آدرسهای سایت از Route::middleware(['throttle:60,1']) استفاده کرده ام و لینک دانلود pdf هم که به صورت لینک غیر مستقیم است را در این middleware گذاشته ام ولی باز هم می توان فایل را بارها و بارها دانلود کرد . لطفا راهنمایی کنید و تشکر
سلام
@alirezax61
محدودیت تعداد دانلود میتونید در جدول یه فیلیدی براش تعیین کنید
هر بار که دانلود شد
1 مقدار بهش اضافه بشه
به 10 که رسید به فرض دیگه دانلود نشه
یا آیپی کاربر رو بگیرید
اگر قبلا دانلود کرده بوده با این آیپی دیگه دانلود نشه و ...
خیلی کارا میشه کرد
سلام
@alirezax61
خیر
اون محدودیت وقفه در انجام پروسه میکنه !
برای موارد شما باید از کنترلر اقدام کنید و مواردی بیان شد رو تست بگیرید.
سلام، فکر میکنم میتونید از این ویژگی url های امضا شده (signed url) در لاراول استفاده کنید.
https://laravel.com/docs/5.8/urls#signed-urls
میتونید آدرس ip مورد نظر رو بگیرید و در ساخت url ازش استفاده کنید و یا اینکه یک url یکبار مصرف بسازید و به کاربر بدید.
البته حس میکنم اولی باید بهتر باشه. اینطوری هرکس بیشتر از یکبار نمیتونه با اون Url که شما بهش میدید دسترسی داشته باشه. حتی میتونید از url های زمان دار استفاده کنید که اینطوری url بعد از مدتی که شما واسش مشخص میکنید از بین میره.
موفق باشید.
ممنون از پاسخهای شما . حالا یه سوال دیگه . آیا برای جلوگیری از روباتها و اسپمهایی که ممکنه این فایل را زیاد دانلود کنند و پهنای باند سایت را مصرف کنند همان trrottle کافیست یا برای ان هم باید از همین تکنیکهایی که گفتید استفاده شود . چون قبلا یکبار این اتفاق افتاده بود و فایلی که البته با لینک مستقیم در سایت بود باعث شده بود کل پهنای باند سایت مصرف بشه و سایت از کار بیافته
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟