جلوگیری از دانلود بیش از حد یک فایل در لاراول

- 1 هفته پیش
توسط Alireza zahedi آپدیت شد
Alireza zahedi ( 145 تجربه )
1 هفته پیش

با سلام . چگونه می توان از دانلود بیش از حد یک فایل در لاراول جلوگیری کرد ؟ فرض کنید یک فایل مثلا pdf کاتالوگ محصولات را در سایت برای دانلود گذاشته ایم و میخواهیم یک IP نتواند آن فایل را بیش از حد دانلود کند . من برای کلیه آدرسهای سایت از Route::middleware(['throttle:60,1']) استفاده کرده ام و لینک دانلود pdf هم که به صورت لینک غیر مستقیم است را در این middleware گذاشته ام ولی باز هم می توان فایل را بارها و بارها دانلود کرد . لطفا راهنمایی کنید و تشکر

Alimotreb ( 42272 تجربه )
1 هفته پیش

سلام
@alirezax61

محدودیت تعداد دانلود میتونید در جدول یه فیلیدی براش تعیین کنید
هر بار که دانلود شد
1 مقدار بهش اضافه بشه
به 10 که رسید به فرض دیگه دانلود نشه
یا آیپی کاربر رو بگیرید
اگر قبلا دانلود کرده بوده با این آیپی دیگه دانلود نشه و ...
خیلی کارا میشه کرد

Alireza zahedi ( 145 تجربه )
1 هفته پیش

سپاس از شما . با همون throttle که در لاراول هست نمیشه انجام داد ؟

Alimotreb ( 42272 تجربه )
1 هفته پیش

سلام
@alirezax61

خیر
اون محدودیت وقفه در انجام پروسه میکنه !
برای موارد شما باید از کنترلر اقدام کنید و مواردی بیان شد رو تست بگیرید.

پویا ( 95 تجربه )
1 هفته پیش

سلام، فکر میکنم میتونید از این ویژگی url های امضا شده (signed url) در لاراول استفاده کنید.
https://laravel.com/docs/5.8/urls#signed-urls
میتونید آدرس ip مورد نظر رو بگیرید و در ساخت url ازش استفاده کنید و یا اینکه یک url یکبار مصرف بسازید و به کاربر بدید.
البته حس میکنم اولی باید بهتر باشه. اینطوری هرکس بیشتر از یکبار نمیتونه با اون Url که شما بهش میدید دسترسی داشته باشه. حتی میتونید از url های زمان دار استفاده کنید که اینطوری url بعد از مدتی که شما واسش مشخص میکنید از بین میره.

موفق باشید.

Alireza zahedi ( 145 تجربه )
1 هفته پیش

ممنون از پاسخهای شما . حالا یه سوال دیگه . آیا برای جلوگیری از روباتها و اسپمهایی که ممکنه این فایل را زیاد دانلود کنند و پهنای باند سایت را مصرف کنند همان trrottle کافیست یا برای ان هم باید از همین تکنیکهایی که گفتید استفاده شود . چون قبلا یکبار این اتفاق افتاده بود و فایلی که البته با لینک مستقیم در سایت بود باعث شده بود کل پهنای باند سایت مصرف بشه و سایت از کار بیافته

برای ارسال پاسخ باید وارد سایت شوید