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



  • ۴
  • شهریور

جلسه ۶۶ : مسئله امنیت در بین المللی سازی پلاگین

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

      مقدمه

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

      مسئله امنیت در بین المللی سازی پلاگین

      هنگام صحبت در مورد بین المللی سازی افزونه وردپرس، اغلب مسئله امنیت همیشه نادیده گرفته می شود.
      چند نکته مهم را باید در این خصوص به خاطر داشته باشید.

      بررسی پیوسته اسم ها و رشته های مخرب

      هنگامی که یک مترجم، محلی سازی را برای شما ارسال می کند ، همیشه آن را بررسی کنید.
      این بررسی برای اطمینان از این مسئله است که این محلی سازها اسپم یا کلمات مخرب دیگری را در ترجمه خود دارند یا خیر.
      برای ترجمه مجدد آنها به زبان مادری خود می توانید از Google Translate استفاده کنید تا بتوانید رشته های اصلی و ترجمه شده را به راحتی مقایسه کنید.

      گریز از رشته های بین المللی سازی شده
      Escape Internationalized Strings

      نمی توان اعتماد کرد که آیا یک مترجم متن امنی را به بومی سازی ها اضافه می کند یا خیر.
      زیرا هر مترجمی می تواند  به جای آن جاوا اسکریپت یا کد دیگری را اضافه کند.
      برای حل این مشکل باید با رشته های بین المللی سازی شده مانند ورودی غیرقابل اعتماد دیگر رفتار کنید.
      این مسئله را به خاطر داشته باشید:
      اگر رشته ها را تولید می کنید ، باید عمل escaping را برای آنها اجرا نمایید.ب

      ناامن

      مثال : 

      امن

      مثال : 

      از طرف دیگر ، برخی از مردم به جای اضافه کردن escaping به کد خود ، به مکانیسم تأیید ترجمه اعتماد می کنند.
      یکی از نمونه های مکانیسم تأیید نقش ویرایشگر است که تیم وردپرس Polyglots برای translate.wordpress.org استفاده می کند.
      این کار این تضمین می کند که ترجمه ای که توسط یک مشارکت کننده غیر معتبر ارسال شده باشد توسط یک ویرایشگر معتبر قبل از پذیرش تأیید شده است.

      استفاده از متغیرهایی برای URL

      URL ها را در رشته های بین المللی قرار ندهید.
      زیرا یک مترجم مخرب می تواند آنها را تغییر دهد تا به URL دیگری اشاره کند.
      در عوض ، از متغیرهایی برای ()printf یا sprin()tf استفاده کنید.

      نا امن

      مثال : 

      امن

      مثال : 

      کامپایل های باینری های mo. خودتان

      غالباً مترجمان فایل mo. کامپایل شده را به همراه فایل plaintext .po ارسال می کنند.
      اما شما باید فایل mo. آنها را دور ریخته و خودتان را کامپایل کنید.
      زیرا هیچ راهی ندارد تا مطمئن شوید که آیا آن فایل از po. مربوطه تهیه شده است ، یا چیز دیگری.
      ارگ این فایل از چیزی ذیگری ساخته شده باشد می تواند حاوی اسپم و سایر رشته های مخرب باشد.

      با استفاده از PoEdit برای تولید باینری ، هدرها در پرونده po. برتری پیدا خواهد کرد.
      بنابراین بهتر است در عوض آن را از خط فرمان کامپایل کنید:

      مثال : 

      کلام آخر

      در این جلسه و با طرح مسئله امنیت در بین المللی سازی پلاگین به پایان سر فصل ” بین المللی سازی ” در ساخت پلاگین رسیدیم.
      در جلسه بعدی با فصلی جدید، همراه شما خواهیم بود.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۶۶ : مسئله امنیت در بین المللی سازی پلاگین
      به اشتراک بگذارید