Специальные настройки WordPress.org для плагина Two Factor
Настройте локальный мультисайт WP.
Добавьте этот код в свой wp-config.php
:
define( 'WP_ENVIRONMENT_TYPE', 'local');// Имитация 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 $providers; }, 100 ); // Необходимо запустить _after_ wporg-two-factor.// Имитирует `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?' bbp_get_user_rewrite_id() '=$matches[1]&' 'edit_account=1','top' ); }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.