التخصيصات الخاصة بـ WordPress.org للمكون الإضافي Two Factor
قم بإعداد WP Multisite المحلي.
أضف هذا الكود إلى wp-config.php
الخاص بك:
تعريف( 'WP_ENVIRONMENT_TYPE', 'local' );// Mimic w.org لاختبار wporg-two-factorglobal $supes, $super_admins;$supes = array('your_username');$super_admins = array_merge( $supes );function is_special_user( $user_id ) {$user = get_userdata( $user_id);return in_array( $user->user_login, $GLOBALS['supes'], true ); }
أضف هذا الكود إلى wp-content/mu-plugins/0-sandbox.php
:
require_once WPMU_PLUGIN_DIR. '/wporg-mu-plugins/mu-plugins/loader.php';// تمكين الموفر الوهمي للراحة عند الاختبار محليًا.add_filter( 'two_factor_providers', function( $providers ) {$providers['Two_Factor_Dummy'] = TWO_FACTOR_DIR . 'providers/class-two-factor-dummy.php';return مقدمي $؛ }, 100); // يجب تشغيل _after_ wporg-two-factor.// Mimics `mu-plugins/main-network/site-support.php`.function add_rewrite_rules() {// على سبيل المثال، https://wordpress.org/support/users /foo/edit/account/add_rewrite_rule(bbp_get_user_slug() . '/([^/]+)/' . bbp_get_edit_slug() . '/account/?$','index.php?' . ); }add_action( 'init', __NAMESPACE__ . 'add_rewrite_rules' );
تثبيت وإنشاء وتفعيل سمة wporg-support
.
قم بتثبيت two-factor-provider-webauthn
و bbPress
و Gutenberg
. قد تحتاج إلى استنساخ وبناء فرع trunk
لـ Gutenberg
إذا كنا نستخدم أي ميزات جديدة.
git clone
https://github.com/WordPress/two-factor/ في wp-content/plugins
واتبع تعليمات الإعداد الخاصة بهم.
git clone
هذا الريبو في wp-content/plugins
cd wporg-two-factor && composer install
yarn && yarn workspaces run build
أدوات بيئة الإعداد yarn setup:tools
ابدأ البيئة: yarn wp-env start
قم بتنشيط جميع المكونات الإضافية عبر الشبكة.
إذا كنت تريد إجراء تغييرات على JS، فسيتم yarn workspaces run start
افتح wp-admin/options-general.php?page=bbpress
وقم بإلغاء Prefix all forum content with the Forum Root slug (Recommended)
، ثم احفظه.
تفضل بزيارة https://example.org/users/{username}/edit/account/ لعرض واجهة مستخدم الإعدادات المخصصة. إذا حصلت على خطأ 404
، قم بزيارة wp-admin/options-permalinks.php
ثم حاول مرة أخرى.
يمكن تشغيل اختبارات الوحدة الأمامية في /settings
باستخدام npm run test:unit
أو npm run test:unit:watch
.
يمكن تشغيل اختبارات الوحدة الخلفية في /
باستخدام composer run test
أو composer run test:watch
. ستقوم composer run coverage
بإنشاء تقرير تغطية.
يرجى الإبلاغ بشكل خاص عن أي مشكلات أمنية محتملة لبرنامج WordPress HackerOne.