جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
امیررضا مرادی
3 سال پیش توسط امیررضا مرادی مطرح شد
3 پاسخ

آیا استفاده از روش Route Model Binding در لاراول امن است

با سلام
با توجه به این که عادت به تحقیق بسیار در رابطه با امنیت روش های برنامه نویسی دارم
مشورتی در رابطه با امنیت روش Route Model Binding در لاراول داشتم که آیا برای استفاده در یک پروژه بزرگ برای بروزرسانی و افزودن رکورد در دیتابیس توصیه میشود یا خیر؟
پیشاپیش از نظرات سازنده شما ممنونم


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

@arm7293 سلام وقتتون بخیر.

ببینید در حوزه‌ی امنیت این موضوع باید بگم این کار خاصی یا سیستم خفنی نیستش اصلا.
این حرکت رو صرفا تابعی که توی این لینک هست انجام میده و تقریبا میشه گفت همون کاریه که خودمون انجام میدیم وقتی بدون استفاده از Model Binding روتی رو در نظر می‌گیریم.

به نظر من استفاده ازش اصلا ایرادی نداره ولی من خودم به شخصه ترجیح می‌دم این کارو نکنم چون میشه گفت یه جورایی دست ادم رو می‌بنده.
مثلا بعضی مواقع ممکنه آدم بخواد از scope ی یا هر شرطی قبل از دریافت کردن Model استفاده کنه مثال زیر:

Model::active()->findOrFail($id)

(اون تابع active یک scope هست)

یا فرض کنید مثلا بخواید متن ارور Not Found رو شخصی سازی کنید:

try {
            $model = Model::findOrFail();
        } catch (ModelNotFoundException $e) {
            throw new \Exception("همچین مقداری در دیتابیس پیدا نشد", 404);
        }

در کل مشکلی توی استفاده از این Model Binding نیست به نظرم.


محمد رحیمی انگیز
تخصص : مدیر فناوری اطلاعات
@rahimiangiz 3 سال پیش مطرح شد
1

سلام و شاد باش
Seo رو کاهش میده اگر در بخش ادمین سایت کار میکنی با id کار کردن خوبه ولی در بخش UI برای افزایش Seo معمولا از Slug در لینکها استفاده میکنند که دیگه route model binding بی معنی میشه!!!!😘


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
1

@rahimiangiz
تویی نسخه 7 به بعد هم میتونه route model binding براش مشخص کنی که از slug استفاده کن یا هر فیلدی که دوست داری

و مشخصه که همچنان کاربردیه 🙃

oute::get('/posts/{post:slug}', function (Post $post) {
    // ...
});

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

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