با سلام
با توجه به این که عادت به تحقیق بسیار در رابطه با امنیت روش های برنامه نویسی دارم
مشورتی در رابطه با امنیت روش Route Model Binding در لاراول داشتم که آیا برای استفاده در یک پروژه بزرگ برای بروزرسانی و افزودن رکورد در دیتابیس توصیه میشود یا خیر؟
پیشاپیش از نظرات سازنده شما ممنونم
@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 نیست به نظرم.
سلام و شاد باش
Seo رو کاهش میده اگر در بخش ادمین سایت کار میکنی با id کار کردن خوبه ولی در بخش UI برای افزایش Seo معمولا از Slug در لینکها استفاده میکنند که دیگه route model binding بی معنی میشه!!!!😘
@rahimiangiz
تویی نسخه 7 به بعد هم میتونه route model binding براش مشخص کنی که از slug استفاده کن یا هر فیلدی که دوست داری
و مشخصه که همچنان کاربردیه 🙃
oute::get('/posts/{post:slug}', function (Post $post) {
// ...
});
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟