راکت
حل شده

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

7 پاسخ

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

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

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

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

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

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

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

ممنون از راکت

ثبت پرسش جدید

پاسخ‌ها

7
فرهاد یونسی
فرهاد یونسی
@farhaduneci

تخصص: دانشجو

بهترین پاسخ

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

سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

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

url()
url()->current()
aqbbqa
aqbbqa
@mahdicmptr

تخصص: برنامه نویس

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

شاید پاسخ شما همین‌جا باشد

سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

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

\Illuminate\Support\Facades\Request::fullUrl();
\Illuminate\Support\Facades\Request::getRequestUri();
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

@sina.it91

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

aqbbqa
aqbbqa
@mahdicmptr

تخصص: برنامه نویس

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

سینا خاقانی
سینا خاقانی
@sina.it91

تخصص: توسعه دهنده بک‌اند

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

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

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