علیرضا نصرالله زاده
علیرضا نصرالله زاده
خواندن ۳ دقیقه·۳ سال پیش

امنیت در لاراول

لاراول (Laravel) محبوب ترین فریم ورک (Framework) زبان PHP می باشد. خود فریم ورک لاراول از امنیت بالایی برخوردار است، اما هیچ فریم ورکی نمی تواند ادعای امنیت ۱۰۰ درصد داشته باشد. لذا نکاتی در مورد امنیت در لاراول قابل ذکر است.

از آنجا که این فریم ورک با زبان PHP نوشته شده است، پس باید اول از همه برنامه نویسی ایمن PHP را فرا بگیرید.

انالیز سایت لاراولی

یکی از کلی ترین راه ها جهت ایمن سازی شناسایی باگ های موجود می باشد. لذا می توان با اسکنر های اسیب پذیری های PHP ، باگ ها را شناسایی و سپس اقدام به ایمن سازی ان ها کرد.

در دوره تحلیل حفره های امنیتی به صورت کاملا عملی در یک محیط ازمایشگاهی با باگ ها اشنا می شوید. سپس در دوره هکر قانونمند (CEH) ،کار با اسکنر ها و تست نفوذ روی اسیب پذیری ها را می اموزید!

حتی می توانید در صورت کشف باگ، ان را به ثبت برسانید یا آن را به تیم لاراول گزارش دهید و در توسعه لاراول همکاری کنید!

نکاتی در مورد امنیت در لاراول : همیشه از آخرین نسخه ی لاراول استفاده کنید

همیشه راه هایی برای بهبود امنیت وجود دارد همانطور که با تکامل این فریم ورک نسخه های مختلفی از آن develop می شوند.

و لاراول نیز از آخرین نسخه های PHP استفاده می کند که این خود در راستای افزایش امنیت و همچنین امکانات جدید در این فریم ورک می باشد.

سیستم احراز هویت لاراول

لاراول از سیستم احراز هویت پیشرفته و ایمنی برخورد دار است که سطح دسترسی کاربران را نیز باید تنظیم کنید.

ایمن سازی آسیب پذیری CSRF در لاراول

یکی از نکاتی در مورد امنیت در لاراول این است که به صورت پیش فرض باید بر روی تمامی فرم ها از توابعی که خودش برای این کار معرفی کرده است استفاده کنید :

1

@csrf {{ csrf_field() }}

این توابع کمکی با ایجاد یک سری توکن ها و سشن های امنیتی از بروز اسیب پذیری CSRF در لاراول جلوگیری می کنند.

هر چند می توانید لزومیت استفاده از این توابع را به طور دستی غیرفعال نمایید و خطایی نیز مشاهده نکنید.

آسیب پذیری XSS در لاراول (Cross Site Scripting)

هنگامی که کاربر قصد اجرای جاوا اسکریپت های مخرب را داشته باشد ، لاراول به صورت خودکار با خروجی خام HTML مانع این عمل می شود.

به عنوان یکی از نکاتی در مورد امنیت در لاراول زمانی که شما می خواهید اطلاعاتی را نمایش دهید،

برای جلوگیری از اجرای تگ های HTML و Script باید از {{ $variable }} استفاده کنید.

اما گر نیاز به اجرای تگ های HTML داشتید، می توانید آن را به این صورت استفاده کنید : {!! $variable !!}

غیرفعال کردن حالت دیباگ لاراول

زمانی که مشغول برنامه نویسی هستید می توانید مشکلات و باگ ها را با بروز ارور ها مشاهده کنید.

اما هنگامی که پروژه خود را اپلود می کنید باید این حالت را غیرفعال کنید تا از نمایش اطلاعات به هکر جلوگیری شود. تغییرات زیر را در فایل .env اعمال کنید :

APP_DEBUG=FALSE

استفاده از پروتکل HTTPS

همانطور که می دانید زمانی که از پروتکل 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

علیرضا نصراله زادهعلیرضا نصرالله زادهلاراولsecurityalirezanasrollahzadeh
علیرضا نصراله زاده برنامه نویس ارشد اندروید رتبه 1 مسابقات کشوری برنامه نویسی اندروید بیش از 6 سال تجربه در تحلیل و توسعه نرم افزار های اندروید https://alirezanasrollahzadeh.ir
شاید از این پست‌ها خوشتان بیاید