لاراول (Laravel) محبوب ترین فریم ورک (Framework) زبان PHP می باشد. خود فریم ورک لاراول از امنیت بالایی برخوردار است، اما هیچ فریم ورکی نمی تواند ادعای امنیت ۱۰۰ درصد داشته باشد. لذا نکاتی در مورد امنیت در لاراول قابل ذکر است.
یکی از کلی ترین راه ها جهت ایمن سازی شناسایی باگ های موجود می باشد. لذا می توان با اسکنر های اسیب پذیری های PHP ، باگ ها را شناسایی و سپس اقدام به ایمن سازی ان ها کرد.
در دوره تحلیل حفره های امنیتی به صورت کاملا عملی در یک محیط ازمایشگاهی با باگ ها اشنا می شوید. سپس در دوره هکر قانونمند (CEH) ،کار با اسکنر ها و تست نفوذ روی اسیب پذیری ها را می اموزید!
حتی می توانید در صورت کشف باگ، ان را به ثبت برسانید یا آن را به تیم لاراول گزارش دهید و در توسعه لاراول همکاری کنید!
همیشه راه هایی برای بهبود امنیت وجود دارد همانطور که با تکامل این فریم ورک نسخه های مختلفی از آن develop می شوند.
و لاراول نیز از آخرین نسخه های PHP استفاده می کند که این خود در راستای افزایش امنیت و همچنین امکانات جدید در این فریم ورک می باشد.
لاراول از سیستم احراز هویت پیشرفته و ایمنی برخورد دار است که سطح دسترسی کاربران را نیز باید تنظیم کنید.
یکی از نکاتی در مورد امنیت در لاراول این است که به صورت پیش فرض باید بر روی تمامی فرم ها از توابعی که خودش برای این کار معرفی کرده است استفاده کنید :
1
@csrf {{ csrf_field() }}
این توابع کمکی با ایجاد یک سری توکن ها و سشن های امنیتی از بروز اسیب پذیری CSRF در لاراول جلوگیری می کنند.
هر چند می توانید لزومیت استفاده از این توابع را به طور دستی غیرفعال نمایید و خطایی نیز مشاهده نکنید.
هنگامی که کاربر قصد اجرای جاوا اسکریپت های مخرب را داشته باشد ، لاراول به صورت خودکار با خروجی خام HTML مانع این عمل می شود.
به عنوان یکی از نکاتی در مورد امنیت در لاراول زمانی که شما می خواهید اطلاعاتی را نمایش دهید،
برای جلوگیری از اجرای تگ های HTML و Script باید از {{ $variable }} استفاده کنید.
اما گر نیاز به اجرای تگ های HTML داشتید، می توانید آن را به این صورت استفاده کنید : {!! $variable !!}
زمانی که مشغول برنامه نویسی هستید می توانید مشکلات و باگ ها را با بروز ارور ها مشاهده کنید.
اما هنگامی که پروژه خود را اپلود می کنید باید این حالت را غیرفعال کنید تا از نمایش اطلاعات به هکر جلوگیری شود. تغییرات زیر را در فایل .env اعمال کنید :
APP_DEBUG=FALSE
همانطور که می دانید زمانی که از پروتکل HTTP استفاده می کنید تبادل اطلاعات به صورت ساده صورت می گیرد. و از انجایی که موارد امنیتی اعمال نمی شود، امکان سرقت اطلاعات فراهم می شود.
برای محافظت از دیتا هایی که تبادل می کنید، همیشه از پروتکل HTTPS استفاده کنید.
1
Route::filter('https', function() { if ( ! Request::secure()) return Redirect::secure(URI::current()); });
این پکیج امنیت roles/objects را فراهم می کند و هسته امنیتی Symfony را با لاراول ادغام می کند.
Laravel security یکی از پرکاربرد ترین پکیج ها در زمینه محافظت در برابر آسیب پذیری XSS می باشد.
که از Codeigniter به Laravel منتقل شده است.
Laravel-ACL مجوزهای امن مبتنی بر نقش کاربران را در فرآیند تأیید اعتبار Laravel فراهم می کند.
همچنین به محافظت از مسیرها و روش های کنترل کننده CRUD در برنامه ها کمک می کند
وب سایت شخصی من https://alirezanasrollahzadeh.ir