aqbbqa
3 سال پیش توسط aqbbqa مطرح شد
7 پاسخ

امنیت لاراول api

سلام خدمت اساتید گرامی

من میتونم با سنکتوم برای بعضی از روت های api محدودیت ایجاد کنم که اگر لاگین شده بود و ... دسترسی داشته باشد

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

در حالت پیشفرض اینطور نیست و از هر آدرسی به روت ها دسترسی هست.

چطور میتونم این کار رو بکنم ؟

چیزی که به ذهن خودم رسیده اینه که با یک فرمت خاص توکن در دو طرف بسازم که اگر درست بود اطلاعات ارسال بشه.

آیا این کار اساسی هست؟ یا اینکه راه رhحتتری هم داره؟

ممنون از راکت


ثبت پرسش جدید
فرهاد یونسی
تخصص : دانشجو
@farhaduneci 3 سال پیش مطرح شد
0

موضوع مد نظر شما من رو به یاد CORS انداخت، نمیدونم می‌تونید ازش استفاده کنید یا نه اما پیشنهاد میکنم بخش مربوط به این موضوع داخل مستندات لاراول رو چک کنید.


سینا خاقانی
تخصص : توسعه دهنده بک‌اند
@sina.it91 3 سال پیش مطرح شد
1

@mahdicmptr
سلام
میتونی یه میدلور تعریف کنی و در اون url رو چک کنی و بگی اگر از url مورد نظر بود بتونه دسترسی داشته باشه
تابع url لاراول میتونه کمکت کنه

url()
url()->current()

aqbbqa
تخصص : برنامه نویس
@mahdicmptr 3 سال پیش آپدیت شد
0

@mahdicmptrتشکر از شما راهکار خوبی بود
ولی وقتی از این دستور استفاده می کنیم ، آدرس خود وب سرویس خودمون رو میده
127.0.0.1:8000 رو میده
ولی من می خوام آدرس وبسایتی که درخواست رو ارسال کرده بدونم
مثلا من می خوام چک کنه اگر localhost:3000 بود اطلاعات رو ارسال کن در غیر اینصورت هیچی بر نگردونه


سینا خاقانی
تخصص : توسعه دهنده بک‌اند
@sina.it91 3 سال پیش مطرح شد
0

@mahdicmptr
خودم تست نکردم ولی فکر کنم این کد کارتو راه بندازه

\Illuminate\Support\Facades\Request::fullUrl();
\Illuminate\Support\Facades\Request::getRequestUri();

رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 3 سال پیش مطرح شد
0

@sina.it91

این راه اصلا خوب نیست
خب میشه Referer رو دستی توی header تنظیم و ارسال کرد.


aqbbqa
تخصص : برنامه نویس
@mahdicmptr 3 سال پیش مطرح شد
0

@sina.it۹۱ ممنون از نظر شما میشه لینکی که یک نمونه مثال از این مورد زده باشه بگید
راستش اولین باره خودم با لاراول api ایجاد می کنم و امنیتش خیلی خیلی مهمه


سینا خاقانی
تخصص : توسعه دهنده بک‌اند
@sina.it91 3 سال پیش مطرح شد
1

@mahdicmptr
دوست عزیز
امنیت یه چیز نسبیه و صد در صد نمیشه تضمینش کرد
روتهایی که نیاز به لاگین ندارن، روت عمومی حساب میشن و به نظرم دیگه نیازی نیست به چنین محدودیتهایی
اگر درست متوجه شده باشم میخواهی از سایتهای دیگه به لینکهای سایت شما دسترسی نداشته باشن و صرفا از روتهای داخلی سایت خودتون بتونن ورود کنن و البته لاگین هم نباشن خب باید بگم یکسری راهکارهایی وجود داره اما بازم قابل دور زدن هستند


فرهاد یونسی
تخصص : دانشجو
@farhaduneci 3 سال پیش مطرح شد
0

موضوع مد نظر شما من رو به یاد CORS انداخت، نمیدونم می‌تونید ازش استفاده کنید یا نه اما پیشنهاد میکنم بخش مربوط به این موضوع داخل مستندات لاراول رو چک کنید.


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

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