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



  • ۱۶
  • مرداد

جلسه ۳۹ : Nonce ها در وردپرس

  • دسته‌بندی‌ها :
جلسه ۳۹ : Nonce ها در وردپرس

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

        مقدمه

        Nonce ها توکن های امنیتی یک بار مصرف هستند که برای محافظت از URL ها در برابر سوء استفاده، توسط وردپرس تولید می‌شوند.

        اگر قالب شما به کاربران (چه ادمین و چه عادی) اجازه ارسال داده ها را می‌دهد، برای تأیید قصد کاربر برای انجام یک عمل و همچنین جلوگیری از حملات CSRF (جعل درخواست) از Nonce ها استفاده می‌کنیم.

        برای مثال در یک سایت وردپرسی، فقط کاربرانی که هویت آن ها تأیید شده است، مجاز به آپلود ویدیو هستند.
        حال یک هکر می‌تواند هویت یک کاربر مجاز را جعل کرده و کارهایی که کاربر مجاز به انجام آن ها است را انجام دهد. (با استفاده از حملات CSRF)

        Nonce ها فقط برای session کاربر فعلی منحصر به فرد هستند. بنابراین هرگونه تلاشی جهت لاگین و یا درخواست بدون Nonce ها، نامعتبر است.

        ایجاد Nonce

        • ()wp_nonce_url : اضافه کردن nonce به یک url
        • ()wp_nonce_field : اضافه کردن nonce به یک فرم
        • ()wp_create_nonce : ایجاد nonce برای استفاده سفارشی. مناسب برای پردازش درخواست های ajax

        بررسی Nonce

        • ()check_admin_referer : برای تایید یک nonce که توسط یک url یا فرم در صفحه ادمین ارسال شده است، استفاده می‌شود
        • ()check_ajax_referer : این تابع nonce را بررسی کرده و اگر معتبر نباشد، اجرای اسکریپت را متوقف می‌کند
        • ()wp_verify_nonce : برای تایید nonce در سایر زمینه ها

        مثال

        در این مثال ما یک فرم ارسال ساده داریم.

        1. ایجاد Nonce

        برای امن کردن فرم با استفاده از nonce، یک فیلد مخفی ایجاد کنید که از تابع ()wp_nonce_field استفاده کند.

        مثال : 

        ابتدا بررسی می‌کنیم که آیا فیلد nonce تنظیم شده است یا نه. به همین دلیل اگر فرم ارسال نشده باشد، چیزی را اجرا نمی‌کنیم.
        هنگامی که فرم ارسال شود، از مقدار فیلد nonce استفاده می‌کنیم.
        اگر nonce معتبر باشد، داده های فرم می‌توانند پردازش شوند.

        مثال : 

         

         

        جلسه معرفی Nonce ها در وردپرس نیز به پایان رسید.

        در جلسه بعد به معرفی انواع آسیب پذیری های رایج وردپرس خواهیم پرداخت.

        QR:  جلسه ۳۹ : Nonce ها در وردپرس
        به اشتراک بگذارید