پیاده سازی Regular Expressions بر روی Routeهای لاراول

اگر آموزش مربوط به بررسی Routeها در لاراول را مشاهده کرده باشید یا خودتان با Routeها در لاراول آشنایی داشته باشید, می دانید که در route هایی که می توان تعریف کرد این امکان را داریم که قسمتی از لینک را به عنوان یک پارامتر شبیه به پارامتر هایی که از طریق متد های $_GET یا $_POST ارسال میکنیم داشته باشیم و با استفاده از Regular Expressions آنها را اعتبارسنجی کنیم. پارمترهای ارسال از طریق متد های ذکر شده داخل آبجکت Request هندل میشوند. پارامترهایی که داخل route ها پیاده سازی میشوند به صورت اجباری یا غیر اجبار به خود متد callback به عنوان پارامتر ارسال میشوند.

regx

اعتبارسنجی پارامترها در URL با Regular Expressions

در داخل آبجکت Request ما با استفاده از تابع Validate به راحتی می توانیم روی پارامترهای ارسالی از طریق متد های درخواست http اعتبار سنجی را انجام بدهیم. در صورت نداشتن مجوز ها یا مقادیر مد نظر ما, به جای پاسخی با کد 200 یک خطا برای ارسال کننده درخواست بر میگردانیم. با استفاده از این روش متاسفانه نمی توانیم بر روی پارامتر های موجود در داخل routeها اعتبار سنجی را انجام بدهیم.

لاراول برای حل این مشکل راه کارهایی را پیاده سازی کرده است که به ما امکان میدهد تا ما بتوانیم با استفاده از عبارات Regular Expressions یک سری محدودیت ها بر روی مقادیر جایگزین شده برای پارامترهای خود اعمال کنیم که تقریبا همان کار اعتبار سنجی داده ها را برای ما انجام میدهد.

مثال تکمیلی

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

در صورتی که ما آن مقدار را در متد callback چک نکرده باشیم که عدد است یا خیر به مشکل خواهیم خورد. برای اجتناب از کد های اضافی و امنیت بالا و اعتماد به مقادیر, لارول این امکان را فراهم کرده است که بتوانیم این اعتبار سنجی را هنگام اعتباردهی به route انجام بدهیم. به این شکل که با استفاده از الگوی که تعریف میشود مقادیر اعتبارسنجی میشوند.

در این ویدیو آموزشی روش پیاده سازی آن را در لاراول بیان کرده ایم.

 

ویژگی های این آموزش

  • بررسی متد ها هدف
  • پیاده سازی متد های هدف
  • طراحی pattern های اعتبار سنجی
  • بررسی اعتبار دهی به route ها

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر نیاز است تا ابتدا وارد سایت شوید.

هیچ نظری ارسال نشده است.

قیمت آموزش
۴,۰۰۰ تومان
نوع دسترسی
نقدی

این مقاله در حال حاضر تنها به روش نقدی در دسترس می باشد.

ناصر خالدی
مدرس دوره

ناصر خالدی

مهندس شبکه, امنیت, برنامه نویسی تلفن های هوشمند, طراح وب سایت و متخصص هوش مصنوعی

گفتگوی برنامه نویسان

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

مقالات پیشنهادی

پی اچ پی - PHP

با استفاده از این زبان می توان وب سایت های پویا طراحی کرد, این زبان می تواند با HTML ادغام شود, در حقیقت یک زبان اسکریپتی متن باز و رایگان است. یعنی زمانی که سرور درخواست ...


۹۴۵
۰
۱۳ آذر ۱۳۹۹

بک لینک چیست؟

بک لینک (Back Link) به لینک دادن یک سایت به سایت دیگر گفته میشود که یک فاکتور مهم و اساسی در سئو هر سایتی می باشد.


۹۹۱
۰
۲۲ آذر ۱۳۹۹

جاوا اسکریپت

جاوا اسکریپت یک زبان پویا و محبوب مبتنی بر شیء, داینامیک و مفسری می باشد. این زبان برای برنامه نویسی سمت سرور و کلاینت استفاده میشود که ...


۸۶۷
۰
۱۳ آذر ۱۳۹۹

وردپرس

وردپرس یک سیستم مدیریت محتوای قوی می باشد که با استفاده از آن می توان وب سایت ها و وبلاگ های گوناگونی با هر شرایطی را طراحی کرد چرا که این سیستم و ...


۸۰۶
۰
۱۳ آذر ۱۳۹۹

Fatal error: Uncaught wfWAFStorageFileException: Unable to verify temporary file contents for atomic writing. in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php:52 Stack trace: #0 /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php(659): wfWAFStorageFile::atomicFilePutContents('/home/clonerco/...', '<?php exit('Acc...') #1 [internal function]: wfWAFStorageFile->saveConfig('livewaf') #2 {main} thrown in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php on line 52