الأشياء التي يجب وضعها في الاعتبار أثناء إنشاء مكون WordPress الإضافي من الصفر

نشرت: 2022-01-02

البرنامج المساعد WordPress هو في الواقع ملف واحد أو مجموعة من الملفات التي تعمل على توسيع أو تحسين وظائف موقع WordPress.

يعرف كل مطور جديد "كيفية البرمجة؟" ، ولكن عند إنشاء مكون إضافي في WordPress ، يجب أن يتذكر المطور بعض المتطلبات الأساسية لإنشاء مكون WordPress الإضافي بالإضافة إلى جودة الشفرة والأمان والوظائف.

يصف هذا الدليل خطوات مهمة يجب وضعها في الاعتبار عند إنشاء مكونات WordPress الإضافية من البداية.

في مكونات WordPress الإضافية ، من المهم فهم WordPress Hooks ، مثل الإجراءات والمرشحات. تسمح الخطافات بتشغيل الملحقات بوظائف محددة في أوقات محددة ضمن وظائف WordPress.

قائمة خطافات العمل: https://codex.wordpress.org/Plugin_API/Action_Reference

 تعريف ('WP_DEBUG' ، صحيح) ؛
--- تمت إضافة خيار WP_DEBUG في إصدار WordPress 2.3.1.
--- افتراضيًا ، يُفترض أنها خاطئة. ومع ذلك ، عادة ما يتم تعيينه على صواب في ملف wp-config.php.

-> أضف رأس معلومات محدد البرنامج المساعد إلى ملفنا الذي تم إنشاؤه حديثًا في مجلد البرنامج المساعد.

 / *
اسم البرنامج المساعد: نوع وظيفة التزكية
عنوان URI للمكون الإضافي: https://wordpress.org/plugins/testimonial-post-type/
الوصف: إنشاء أنواع منشورات الشهادة ، إنها التصنيف والعلامات.
الإصدار: 1.0.2
المؤلف: Elsner Technologies Pvt. المحدودة.
عنوان URI للمؤلف: https://www.elsner.com
مجال النص: نوع ما بعد الشهادة
مسار المجال: / اللغات
* /

الموضوعات ذات الصلة: المكون الإضافي WordPress الذي تم إطلاقه مؤخرًا من Elsner: المنشورات ذات الرمز المختصر لشريط التمرير

-> يجب أن تحتوي جميع المكونات الإضافية على أسماء وظائف فريدة وتعريفات وأسماء فئات.

هذا يمنع المكون الإضافي الخاص بك من التعارض مع المكونات الإضافية أو السمات الأخرى.

-> لا تستخدم __ (شرطة سفلية مزدوجة) أو wp_ أو _ (شرطة سفلية مفردة) كبادئة.

تلك محجوزة لـ WordPress نفسه. يمكنك استخدامها داخل فصولك الدراسية ، ولكن ليس كوظيفة قائمة بذاتها

-> الرجاء تأمين البرنامج المساعد الخاص بك من الوصول المباشر للملفات.

 إذا (! المعرفة ('ABSPATH')) الخروج ؛ // خروج إذا تم الوصول إليها مباشرة

- يمكنك تجنب الوصول المباشر للملفات عن طريق وضع هذا الرمز في أعلى جميع ملفات php:

-> الرجاء إضافة nonce إلى مكالمات POST لمنع الوصول غير المصرح به.

nonce (الرقم المستخدم مرة واحدة)

لا تعد الحروف غير النصية في WordPress أرقامًا ، ولكنها عبارة عن تجزئة مكونة من أرقام وحروف. كما أنها لا تستخدم مرة واحدة فقط ، ولكن لها "عمر" محدود تنتهي صلاحيته بعد ذلك.

عادة نقوم بإنشاء عنوان url مثل هذا يحذف post_id 174
http://example.com/wp-admin/post.php؟post=123&action=trash

عنوان url هذا مثالي ، لكنه ليس آمنًا. لنفترض أن المهاجم يعرف معرف المنشورات ، ثم يمكن للمهاجم حذف المنشورات التي تحتوي على عنوان url هذا دون علمك.

إضافة nonce سيمنع هذا. على سبيل المثال ، عند استخدام nonce ، يبدو عنوان url الذي ينشئه WordPress للمستخدم كما يلي:
http://example.com/wp-admin/post.php؟post=123&action=trash&_wpnonce=b192fc4204

 $ nonce = wp_create_nonce ('my-action_trash') ؛

- يؤدي هذا ببساطة إلى إرجاع القيمة nonce نفسها.

- هذه القيمة التي يمكنك وضعها في عنوان URL مثل

الإجراء = 'http: //example.com/wp-admin/post.php؟ post = 123 & action = trash & _wpnonce ='. $ nonce؛

- التحقق من nonce الذي تم تمريره في URL

 wp_verify_nonce ($ _REQUEST ['_ wpnonce']، 'my-action_trash')؛

الموضوعات ذات الصلة: كيف ترسل البرنامج المساعد الخاص بك إلى دليل البرنامج المساعد WordPress؟

-> يرجى التعقيم والهروب والتحقق من صحة مكالمات POST

التعقيم: تنظيف مدخلات المستخدم
يجب ألا يكون لدى المرء مطلقًا بيانات أولية مدرجة في قاعدة البيانات ، ولا حتى من خلال وظيفة تحديث أو استدعاء ().

سيؤدي تعقيم بيانات POST عند استخدامها لإجراء استدعاءات إجراءات أو عمليات إعادة توجيه عناوين URL إلى تقليل احتمالية وجود ثغرات أمنية في XSS.

sanitize_text_field ($ _ POST ['post_name']) ؛
- يمكن تعقيم البيانات باستخدام الوظيفة المذكورة أعلاه.
- خلف الكواليس ، تقوم الوظيفة بالأمور المذكورة أدناه:
للتحقق من عدم صلاحية UTF-8
يحول الأحرف <الفردية إلى كيان
يزيل كل العلامات
إزالة فواصل الأسطر وعلامات التبويب والمسافة البيضاء الزائدة
تجريد الثماني بتات
- تعقيم _ * () فئة وظائف المساعد
https://developer.wordpress.org/plugins/security/securing-input/

التحقق من الصحة: ​​التحقق من إدخال المستخدم
بالإضافة إلى التعقيم ، يجب عليك التحقق من صحة جميع مكالماتك. إذا كانت مكالمة $ _POST يجب أن تكون رقمًا فقط ، فتأكد من أنها int () قبل تمريرها عبر أي شيء. في أي وقت تضيف فيه بيانات إلى قاعدة البيانات ، يجب أن تكون البيانات الصحيحة.

 intval ($ _POST ['post']) ؛
- إذا كان $ _POST ['post']

له قيمة عددية ، سيعود صحيحًا. إذا لم يكن كذلك ، ثم خطأ.

الهروب: تأمين الإخراج
الهروب هو أخذ البيانات التي لديك بالفعل وتأمينها قبل عرضها للمستخدم النهائي.

الهروب / الإرسال عند الإخراج يزيل فقط أي غموض ويضيف إلى الوضوح.

 <h4> <؟ php echo esc_html ($ title)؛ ؟> </h4>
- esc_html ()

يجب استخدامه في الأوقات التي يحتوي فيها عنصر HTML على قسم من البيانات لدينا مخرجاته.

 esc_html (سلسلة نصية $)

الهروب لكتل ​​HTML.

 esc_html_e (سلسلة نصية $)

عرض النص المترجم الذي تم تجاوزه للاستخدام الآمن في إخراج HTML.

 esc_html__ (سلسلة نصية $)

استرجع ترجمة النص $ وتفلت منه للاستخدام الآمن في إخراج HTML.

 <img alt = "" src = "<؟ php echo esc_url ($ picture_url)؛؟>
- esc_url ()

يجب استخدامها في كل عنوان URL ، بما في ذلك تلك الموجودة في السمتين "src" و "href" لعنصر HTML.

 <؟ php echo esc_js ($ value)؛ ؟>
- esc_js ()

مخصص لجافا سكريبت مضمنة.

 <ul class = "<؟ php echo esc_attr ($ store_class)؛؟>">
- esc_attr ()

يمكن استخدامه على كل شيء آخر يتم طباعته في سمة عنصر HTML.

ملحوظة :-
يرجى التحقق من الرابط أدناه لفهم مكان المجلدات وأفضل طريقة للاتصال بها
https://codex.wordpress.org/Determining_Plugin_and_Content_Directories

إذا أمكن ، احفظ البيانات في جداول wp_options.

الهدف النهائي من كل هذا هو التأكد من أن البيانات غير الصالحة وغير الآمنة لا يتم معالجتها أو عرضها على الإطلاق. نظف ، تحقق ، هرب من كل شيء. أيضًا ، لا تثق أبدًا في أن المستخدمين لديهم دائمًا بيانات إدخال عقلانية.

ذات صلة: كيفية تخصيص صفحة تسجيل الدخول إلى WordPress