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



  • ۴
  • شهریور

جلسه ۱۳ : ایمنی سازی خروجی های پلاگین

  • دسته‌بندی‌ها :
جلسه ۱۳ : ایمنی سازی خروجی های پلاگین
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن به ویژه کاربرانی که به سیستم مدیریت محتوای قدرتمند وردپرس علاقمند هستند.
      به ” دوره متخصص وردپرس ” خوش آمدید!
      در این دوره قرار است توسعه و ارتقاء پلاگین های وردپرس را به صورت جامع و کامل بیاموزیم.
      فرقی نمی کند که در شرف نوشتن اولین پلاگین خود هستید و یا این که پنجاهمین پلاگین خود را می نویسید! امیدوارم این دوره برایتان مفید باشد.
      در جلسه قبل با نحوه ایمنی سازی خروجی های پلاگین آشنا شدیم و آموختیم که چگونه می توان داده های ورودی به یک پلاگین را امن کرد.
      در ادامه و در این جلسه مبحث ایمنی سازی خروجی های پلاگین را به علاقمندان این دوره ارائه می نماییم.

      ایمنی سازی خروجی های پلاگین

      ایمنی سازی خروجی های پلاگین در واقع فرآیند فرار از داده های خروجی است.
      این فرار به معنی سلب کردن داده های ناخواسته، مانند HTML های ناقص یا تگ های اسکریپت است.
      هر زمان که داده ها را ارائه می کنید، مطمئن شوید که به درستی راه فرار آن را ایجاد کرده اید.
      این خروجی ها می توانند از حملات (XSS (Cross-site scripting جلوگیری کنند.

      اسکریپت (Cross-site (XSS یک نوع آسیب پذیری امنیتی رایانه است که معمولا در برنامه های وب یافت می شود.
      XSS مهاجمین را قادر می سازد اسکریپت های سمت سرویس گیرنده را به صفحات وب مورد نظر سایر کاربران تزریق کند.
      آسیب پذیری های اسکریپتی cross-site ممکن است توسط مهاجمان مورد استفاده قرار گیرد تا از کنترل های دسترسی مانند سیاست مشابه همانند سازی دور بمانند.

      فرار Escaping

      Escaping یا فرار کمک می کند تا امنیت داده ها را قبل از ارائه آن به کاربر نهایی بسنجید.
      وردپرس دارای چند تابع کمکی است که می تواند در این فرآیند به شما کمک کند.

      • ()esc_html – در هر زمان یک عنصر HTML از این تابع استفاده می کند که یک بخش از داده نمایش داده می شود.
      • ()esc_url – از این تابع در تمام URL ها، از جمله آنهایی که در خصیصه src و href عنصر HTML استفاده می کنند، استفاده کنید.
      • ()esc_js – از این تابع برای Javascript درون خطی استفاده کنید.
      • ()esc_attr – از این تابع بر روی هر چیز که از یک ویژگی عنصر HTML استفاده می کند؛ استفاده کنید.

      هشدار

      اکثر توابع وردپرس به درستی داده ها را برای خروجی آماده می کنند، بنابراین شما نیازی به Escaping از داده ها ندارید.
      به عنوان مثال، شما می توانید با خیال راحت بدون Escaping از ()the_title استفاده کنید.

      Escaping به ههراه لوکالیزیشن (محلی سازی)

      به جای استفاده از اکو به داده های خروجی، می توانید از توابع محلی وردپرس مانند  ()e_ () یا() __ استفاده نمایید.
      این توابع به سادگی تابع محلی سازی را داخل یک تابع Escaping را تعریف می کند:

      مثال : 

      توابع زیر localization و escaping را ترکیب می نماید.

      • ()__esc_html
      • ()esc_html_x
      • ()__esc_attr
      • ()esc_attr_e
      • ()esc_attr_x

      سفارشی کردن Escaping

      در صورتی که می خوهید از خروجی ها را به روش خاصی فرار (escape) دهید؛ از تابع ()wp_kses استفاده نمایید.

      این تابع اطمینان می دهد که فقط عناصر مشخص شده HTML، عناصر و مقادیر خصیصه هادر خروجی شما رخ می دهند و عناصر HTML عادی سازی می شود.

      مثال : 

      ()wp_kses_post یک تابع wrapper برای wp_kses است که  allowed_html$ مجموعه ای از قوانین مورد استفاده در محتوای پست است.

      مثال : 

      کلام آخر

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

      QR:  جلسه ۱۳ : ایمنی سازی خروجی های پلاگین
      به اشتراک بگذارید