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

چند سوال کوتاه راجع به لاراول

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

1- توی آدرس دهی روت ها همه چیز قراردادی هست و به برنامه نویسی مریوط میشه ؟؟ یعنی مثلا برای یک روت هم میتونیم /{id} نوشته بشه و هم میشه id رو توی پارامتر های رکوئست ارسال کرد ؟ سوال اینکه دلیل خاص یا منطق برنامه نویسی داره که از روش اول استفاده بشه یا نه قراردادی هست ، کلا میخواستم ببینم همانطور که توی نام گذاری فانکشن ها دست برنامه نویس بازه توی تعریف روت ها هم همینطوره (در کل توی تعریف روت ها اگر به طور خلاصه میشه گفت چه مواردی رعایت بشه بهتره ممنون میشم تیتروار ذکر کنید)

2- من از لاراول صرفا جهت api استفاده میکنم و بک اند برنامه های اندرویدی ام رو میزنم سوالم اینه که جهت بالا بردن امنیت پروژه ام از لاراول پاسپورت استفاده میکنم و در واقع با استفاده از توکن که هر بار از سمت اندروید ارسال میشه سعی میکنم رکوئست هام رو safe تر کنم البته که در نهایت ssl رو هم در آخر فعال میکنم(جهت جلوگیری از برنامه هایی که سند و رسیو رو چک میکنن) اما سوالم اینه که برای امنیت یه پروژه همین ها کافیه یا باید مطالب بیشتر و بهتری رو دنبال کنم

3- من تو پروژه هام همیشه علاوه بر یوزر به ادمین هم نیاز دارم خب سوالم اینه که برای ادمین ها یه جدول جداگانه باز کنم و اون جدول هم به auth اضافه کنم یا نه درستش اینه که همون توی یوزرها باشن فقط یه جدول جدید به اسم ادمین اضافه کنم که با userid به جدول یوزر وصل باشه و اونجا اگر ایدی یوزر بود یعنی ادمین هست دیگه ... به نظرتون کدومش درست تر و منطقی تر هست؟

سپاس ...

@gomnam
@abdolrahman
@mhyeganeh
@mohammadphp


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 3 سال پیش آپدیت شد
0

درود...
۱. منطق برنامه نویسی خاصی نداره...
در واقع در روت که مسیر آن {id} برای شناسایی صفحه ای که در آن عملیات انجام بدید که شناسه خود دیتابیس هست...
۲. فقط این مورد نیست بلکه باید امنیت رو بیشتر کنید:

  • جلوگیری از حملات SQL Injection
  • فعال سازی SSL و پروتکل HTTPS
  • جلوگیری از حملات XSS
  • استفاده از هدر (Header)های امنیتی Laravel
  • استفاده از mass assignment با ملاحظات امنیتی
  • محافظت در مقابل CSRF (Cross Site Request Forgery)
  • استفاده از Laravel Purifier
  • و ...

۳. می توانید role رو تعریف کنید با دسترسی admin و user در یک جدول ..
نیازی نیست میزکار جداگانه ایجاد کنید, کافیه دسترسی کاربران در بخش از صفحات رو محدود کنید و در یک میزکار عملیات رو انجام بده...


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

سلام
1- در واقع در روت های لاراول هیچ قراردادی وجود نداره اما استاندارد وجود داره، یعنی اگه بیای به هر شکل که دوست داشتی روت های خودت رو تعریف کنی ( بحث فقط سر روت ها نیست، بلکه در تمام مراحل تولید نرم افزار ما باید تمام استاندارد های ممکن رو رعایت کنیم اگر هم رعایت نکنیم بعدا به مشکلات خیلی بزرگی برخورد می کنیم). در روت ها باید اون مورد اولی که خودت گفتی رو باید رعایت کنی. برای اینکه بیشتر متوجه بشی این لینک رو ببین.
2- به نظرم برای امنیت، خود لاراول اونقدر امن است. در مورد امنیت لاراول پاسپورت هم مقاله های زیادی چه انگلیسی و فارسی وجود داره.
3- سوال سوم رو خیلی متوجه نشدم، تا جایی که من برداشت کردم این بود که شما می خوایید ادمین تعریف کنید، اگه می خوایید این کار رو انجام بدید می تونید داخل جدول users یک فیلد مثلا به اسم role با تایپ boolean تعریف کنید و بعدش هر کاربری که مقدار 1 داشت یعنی مدیر هستش ( این ساده ترین شکل ممکن بود).


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

درود...
۱. منطق برنامه نویسی خاصی نداره...
در واقع در روت که مسیر آن {id} برای شناسایی صفحه ای که در آن عملیات انجام بدید که شناسه خود دیتابیس هست...
۲. فقط این مورد نیست بلکه باید امنیت رو بیشتر کنید:

  • جلوگیری از حملات SQL Injection
  • فعال سازی SSL و پروتکل HTTPS
  • جلوگیری از حملات XSS
  • استفاده از هدر (Header)های امنیتی Laravel
  • استفاده از mass assignment با ملاحظات امنیتی
  • محافظت در مقابل CSRF (Cross Site Request Forgery)
  • استفاده از Laravel Purifier
  • و ...

۳. می توانید role رو تعریف کنید با دسترسی admin و user در یک جدول ..
نیازی نیست میزکار جداگانه ایجاد کنید, کافیه دسترسی کاربران در بخش از صفحات رو محدود کنید و در یک میزکار عملیات رو انجام بده...


کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
0

سلام
بسیار عالی و ممنونم از دو دوست گرامی @endworld و @samanzdev

در مورد اول بله رعایت یک سری اصول قطعا الزامی هست در کل بخوام منظورم رو بهتر و شفاف تر برسونم این که مثلا اگر به جای پاس دادن آیدی به این شکل {id} بیایم توی رکوئست آیدی رو پاس بدیم اتفاقی میفته مشکلی پیش میاد ممکنه مثلا شرایط برای کسی که بخواد خرابکاری کنه فراهم میشه یا نه ...؟ امیدوارم منظورم رو رسونده باشم ، بیشتر نگران امنیت هستم ........> البته این رو هم بگم عمدی ندارم که بخوام حتما اینطوری کار رو پیش ببرم منظورم اینه که اگر ناخواسته یا سهوی این اتفاق بیفته خطری وجود داره یا نه :)

در خصوص جدول ادمین ممنونم کاملا تفهیم شدم ... سپاس

در خصوص امنیت لاراول شکی درش نیست اما سوالم اینه که برخی از مواردی که فرمودید مثل CSRF برای زمانی هست که بخوایم ویوی وب داشته باشیم و نگران مسائلی از این دست باید باشیم و هندلش کنیم اما توی استفاده از لاراول به عنوان api فکر کنم این موارد نیاز نباشه درسته؟ البته اگر اشتباه میکنم اصلاح بفرمایید

سپاس


علی اکبر
تخصص : software developer
@print 3 سال پیش مطرح شد
0

در جواب سوال اولتون
لاراول روتر یک پارسر برای رشته هایی که از طریق متد های get post ... داره که وقتی از تمپلت ها استفاده میکنید مقادیر رو استفاده میکنه


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

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