راکت

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

3 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

3
مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

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

@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

تخصص: مدیر فناوری اطلاعات

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

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

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

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

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

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

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