دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • خرداد

جلسه ۲۵ : آموزش ایمنی سازی در CakePHP

  • دسته‌بندی‌ها :
جلسه ۲۵ : آموزش ایمنی سازی در CakePHP
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و آن دسته از کاربرانی که به زبان PHP علاقه دارند. این دوره آموزش CakePHP مخصوص آن ها تهیه شده تا مهارت و تسلط خود را بر این زبان با یادگیری CakePHP به حد کمال برسانند و با کمک آن به یک برنامه نویس حرفه ای در عرصه PHP تبدیل شوند. در جلسه گذشته آموختیم که چگونه به مدیریت کوکی ها بپردازیم. در ادامه آموزش این فریم ورک به آموزش ایمنی سازی در CakePHP می پردازیم.

      آموزش ایمنی سازی در CakePHP

      امنیت یکی دیگر از ویژگی های مهم در ایجاد برنامه های کاربردی وب است.
      وجود امنیت این اطمینان را به کاربران وب سایت می دهد که اطلاعات آنها امن است. CakePHP ابزارهایی دارد که می تواند برنامه شما را امن نگه دارد.

      رمزگذاری و رمزگشایی

      کتابخانه security در CakePHP روش هایی دارد که می توان با بهره گیری از ان ها به رمزگذاری و رمزگشایی داده ها پرداخت.
      در ادامه به معرفی دو روش از میان روش های موجود می پردازیم.

      مثال : 

      روش encrypt متن را به عنوان key در argument برای encrypt data در نظر می گیرد و مقدار برگشتی ما مقدار HMAC checksum خواهد بود.

      برای هش کردن یک داده می توان از روش ()hash استفاده نمود.
      در ادامه سینتکس این روش را مشاهده می کنید.

      مثال : 

      CSRF

      CSRF استانداردی برای Cross Site Request Forgery است.
      با فعال کردن اجزاء CSRFمی توانید از حملات در امان بمانید.
      CSRF ممکن است یک آسیب پذیری رایج در برنامه های وب باشد زیرا اجازه می دهد تا مهاجم یک درخواست قبلی را ضبط و پخش کند و گاهی اوقات درخواست داده ها را با استفاده از تگ های تصویر یا منابع در دامنه های دیگر ارسال نماید.
      می توان با اضافه کردن CsrfComponent به اجزای array همان طور که در ادامه نشان داده ایم CSRF را فعال نمود.

      مثال : 

      CsrfComponent یکپارچه با FormHelper ادغام شده است. هر بار که یک فرم با FormHelper ایجاد می کنید، یک فیلد پنهان حاوی نشانه CSRF وارد خواهد شد.
      اگر بخواهید CsrfComponent را بر روی درخواست های خاص غیرفعال کنید. می توانید با استفاده از dispatcher event controller در روش ()beforeFilter این کار را انجام دهید.

      مثال : 

      اجزاء Security

      Component Security امنیتی بیشتری را به برنامه شما اعمال می کند. این روش برای وظایف مختلف تعیین شده اند:

      • Restricting which HTTP methods your application accepts – همیشه باید قبل از اجرای اثرات جانبی از روش  تصدیق the HTTP استفاده کنید.
        لذا باید روش HTTP را بررسی کنید یا از ()Cake\Network\Request::allowMethod برای اطمینان از استفاده از روش HTTP به صورت درست استفاده کنید.
      • Form tampering protection – به طور پیش فرض، SecurityComponent مانع از دسترسی افراد به فرم ها در روش های خاص می شود.
        SecurityComponent موارد زیر ایجاد خواهد کرد:
        – زمینه های نامشخص را نمی توان به شکل اضافه کرد.
        – زمینه ها را نمی توان از فرم حذف کرد.
        – مقادیر ورودی پنهان را نمی توان تغییر داد.
      • Requiring that SSL be used – همه اقداماتی که SSL-secured را درخواست می کنند.
      • Limiting cross controller communication – می توان تعیین کنیم که کدام کنترل کننده اقدام به ارسال ریکوئست کند.
        علاوه بر آن می توان بر این که کدام اکشن می تواند به این کنترل کننده ریکوئست بفرستد را نیز محدودیت تعیین کرد.

      مثال

      تغییرات مورد نظر را در فایل config / routes.php را همانطور که در ادامه نشان داده شده است اعمال نمایید.

       config/routes.php

      مثال : 

      یک فایل  LoginsController.php در src/Controller/LoginsController.php بسازید و  سپس کد زیر را در فایل کنترل کننده کپی کنید.

      src/Controller/LoginsController.php

      مثال : 

      یک دایرکتوری Logins در src/Template ایجاد کنید و  یک View file زیر دایرکتوری فراخوانی شده  index.ctp بسازید و سپس کد زیر را در آن فایل کننده کپی کنید.

      src/Template/Logins/index.ctp

      مثال : 

      مثال بالا را با مراجعه به آدرس http: // localhost: 85 / CakePHP / login اجرا کنید

      خروجی

      پس از اجرا، خروجی زیر را دریافت خواهید کرد.

      آموزش ایمنی سازی در CakePHP

      log ins

      کلام آخر

      در این جلسه آموزش ایمنی سازی در CakePHP همراهتان بودیم.
      جلسه بعدی به آموزش Validation در CakePHP خواهیم پرداخت.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۲۵ : آموزش ایمنی سازی در CakePHP
      به اشتراک بگذارید