محسن
3 سال پیش توسط محسن مطرح شد
1 پاسخ

ذخیره فایل های حساس در لاراول api

سلام.من برای ذخیره تصاویر کاربران که خصوصی هم هستند در لاراول api به مشکل خوردم.
من فایل ها رو در storage ذخیره میکنم.
اگر storage در public لینک بشه دسترسی عمومی پیدا میکنه.
برای جلوگیری از این مورد باید چطور عمل کرد؟
احراز هویت کاربر چطور انجام شه؟باید برای هر فایل token ارسال شه؟
اگر کسی راهنمایی کنه ممنون میشم


ثبت پرسش جدید
بهزاد عزیزان
@behzad.azizan 3 سال پیش مطرح شد
0

سلام
فکر میکنم منظورتون اینه که اجازه ندید کاربران فایل های خصوصی سایرین رو مشاهده کنند درسته؟
لاراول موقع آپلود هر فایل به صورت پیش فرض اسم فایل رو تغییر میده و یه سری کاراکتر رشته ای به عنوان اسم فایل میزاره که خودش میتونه تاحدی جلوی این مورد رو گرفت
اما میتونید موارد دیگه ای رو هم داشته باشید . مثلا این روش رو امتحان کنید:
فایل ها رو در storage پابلیک نزارید
یه کنترلر در سمت web داشته باشید به نام مثلا FileController که یه اکشن داره به اسم مثلا show
این اکشن وظیفه ی نمایش فایل ها رو برعهده داره و در واقع یک لایه ی کنترلی قوی ایجاد میکنه که کاربران به صورت مستقیم به سیستم فایل شما دسترسی نداشته باشن
حالا میتونید مثلا فایل های هر کاربر رو در دایرکتوری با آی دی کاربر ذخیره کنید و توی این کنترلر از طریق auth::id یا تاکنی که برای این اکشن ارسال میکنید (که بتونید در نهایت به شناسه کاربر برسید) فقط فایل هایی رو قابل نمایش برای اون کاربر کنید که داخل دایرکتوری خودش ذخیره شده.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام