توضیحات
افزونه Two‑Factor با الزام کاربران به ارائه یک روش دوم تأیید هویت علاوه بر گذرواژه، یک لایه امنیتی اضافی به ورود وردپرس اضافه میکند. این کار حتی در صورت افشای گذرواژهها نیز از دسترسی غیرمجاز جلوگیری میکند.
دستورالعملهای راهاندازی
مهم: هر کاربر باید تنظیمات تأیید هویت دومرحلهای خود را بهصورت جداگانه پیکربندی کند.
برای کاربران
- رفتن به نمایه خود: در مدیریت وردپرس به «کاربران نمایه شما» بروید
- یافتن گزینههای تأیید دومرحلهای: به پایین صفحه رفته و بخش «گزینههای تأیید دومرحلهای» را پیدا کنید
- انتخاب روشها: یک یا چند ارائهدهنده تأیید هویت را فعال کنید (توجه داشته باشید مدیر سایت ممکن است برخی از آنها را پنهان کرده باشد، بنابراین گزینههای دردسترس ممکن است متفاوت باشند):
- برنامه تأییدکننده (TOTP) — استفاده از برنامههایی مانند Google Authenticator، Authy یا 1Password
- کدهای ایمیل — دریافت کدهای یکبارمصرف از طریق ایمیل
- کدهای پشتیبان — ایجاد کدهای یکبارمصرف پشتیبان برای شرایط اضطراری
- روش آزمایشی (Dummy) — فقط برای اهداف آزمایشی (نیازمند WP_DEBUG)
- پیکربندی هر روش: دستورالعملهای راهاندازی را برای هر ارائهدهنده فعال دنبال کنید
- تنظیم روش اصلی: انتخاب کنید کدام روش بهعنوان تأیید هویت پیشفرض استفاده شود
- ذخیره تغییرات: برای ذخیره تنظیمات روی «بهروزرسانی نمایه» کلیک نمایید
برای مدیران سایت
- تنظیمات افزونه: این افزونه صفحهای در «تنظیمات Two‑Factor» فراهم میکند تا مشخص کنید کدام ارائهدهندهها در کل سایت غیرفعال شوند.
- مدیریت کاربر: مدیران میتوانند با ویرایش نمایه کاربران، تأیید هویت دومرحلهای را برای آنها پیکربندی کنند
- پیشنهادهای امنیتی: کاربران را تشویق کنید روشهای پشتیبان را فعال کنند تا از قفل شدن حساب جلوگیری شود
روشهای تأیید هویت دردسترس
برنامه تأییدکننده (TOTP) — پیشنهادی
- امنیت: بالا — گذرواژههای یکبارمصرف مبتنی بر زمان
- راهاندازی: کد QR را با برنامه تأییدکننده اسکن کنید
- سازگاری: با Google Authenticator، Authy، 1Password و سایر برنامههای TOTP کار میکند
- بهترین برای: بیشتر کاربران؛ امنیت عالی همراه با کاربری آسان فراهم میکند
کدهای پشتیبان — پیشنهادی
- امنیت: متوسط — کدهای یکبارمصرف
- راهاندازی: ایجاد ۱۰ کد پشتیبان برای دسترسی اضطراری
- سازگاری: در همهجا کار میکند و به سختافزار ویژهای نیاز ندارد
- بهترین برای: دسترسی اضطراری زمانی که روشهای دیگر دردسترس نیستند
کدهای ایمیل
- امنیت: متوسط — کدهای یکبارمصرف از طریق ایمیل ارسال میشوند
- راهاندازی: خودکار — از آدرس ایمیل وردپرس شما استفاده میکند
- سازگاری: با هر دستگاهی که قابلیت ایمیل داشته باشد کار میکند
- بهترین برای: کاربرانی که تأیید هویت مبتنی بر ایمیل را ترجیح میدهند
کلیدهای امنیتی FIDO U2F
- به دلیل از دست رفتن پشتیبانی مرورگر منسوخ و حذف شده است.
روش آزمایشی (Dummy)
- امنیت: هیچکدام — همیشه موفق میشود
- راهاندازی: فقط زمانی دردسترس است که WP_DEBUG فعال باشد
- هدف: فقط برای آزمایش و توسعه
- بهترین برای: توسعهدهندگانی که افزونه را آزمایش میکنند
نکات مهم
نیازمندی HTTPS
- همه روشها روی سایتهای HTTP و HTTPS کار میکنند
سازگاری مرورگر
- روشهای TOTP و ایمیل در همه دستگاهها و مرورگرها کار میکنند
بازیابی حساب
- همیشه کدهای پشتیبان را فعال کنید تا از قفل شدن حساب خود جلوگیری نمایید
- اگر دسترسی به همه روشهای تأیید هویت را از دست دادید با مدیر سایت تماس بگیرید
بهترین شیوههای امنیتی
- در صورت امکان از چندین روش تأیید هویت استفاده کنید
- کدهای پشتیبان را در مکانی امن نگهداری کنید
- تنظیمات تأیید هویت خود را بهطور منظم بررسی و بهروزرسانی کنید
برای اطلاعات بیشتر درباره تأیید هویت دومرحلهای در وردپرس، راهنمای امنیت مدیریت پیشرفته وردپرس را ببینید.
برای اطلاعات بیشتر ، به پست مراجعه کنید..
اقدامات & فیلترها
در اینجا لیستی از قلابهای عملکرد و فیلتر ارائه شده توسط افزونه آورده شده است:
- فیلتر
two_factor_providersارائه دهندگان دو مرحلهای موجود مانند ایمیل و گذرواژههای یکبار مصرف مبتنی بر زمان را لغو می کند. مقادیر آرایه نام کلاسهای PHP ارائه دهنده های دو مرحلهای هستند. - صافی
two_factor_providers_for_userارائهدهندگان دو مرحلهای موجود برای یک کاربر خاص را بازنویسی میکند. مقادیر آرایه نمونههایی از کلاسهای ارائهدهنده هستند و شیء کاربرWP_Userبه عنوان آرگومان دوم در دسترس است. - فیلتر
two_factor_enabled_providers_for_userفهرست ارائه دهندگان دو عاملی فعال شده برای یک کاربر را لغو می کند. آرگومان اول آرایه ای از نام کلاس های ارائه دهنده فعال به عنوان مقادیر است، آرگومان دوم شناسه کاربر است. two_factor_user_authenticatedاقدامی که ورود به سیستم را دریافت می کندWP_Userشی به عنوان اولین آرگومان برای تعیین کاربر وارد شده بلافاصله پس از گردش کار احراز هویت.- صافی
two_factor_user_api_login_enableتأیید هویت برای REST API و XML-RPC را فقط به رمزهای عبور برنامه محدود میکند. شناسه کاربر را به عنوان آرگومان دوم ارائه میدهد. two_factor_token_ttlفیلتر فاصله زمانی را بر حسب ثانیه که رمز ایمیل پس از تولید در نظر گرفته میشود، لغو میکند. زمان را بر حسب ثانیه به عنوان اولین آرگومان و شناسه می پذیردWP_Userشی در حال احراز هویت.- صافی
two_factor_email_token_lengthتعداد ۸ کاراکتر پیشفرض برای توکنهای ایمیل را بازنویسی میکند. - صافی
two_factor_backup_code_lengthتعداد ۸ کاراکتر پیشفرض برای کدهای پشتیبان را بازنویسی میکند.WP_Userکاربر مرتبط را به عنوان آرگومان دوم ارائه میدهد. - صافی
two_factor_rest_api_can_edit_userاینکه آیا تنظیمات دو مرحلهای کاربر از طریق REST API قابل ویرایش است را بازنویسی میکند. آرگومان اول مقدار بولی$can_editفعلی و آرگومان دوم شناسه کاربر است. - اکشن
two_factor_before_authentication_promptکه شیء ارائهدهنده را دریافت کرده و پیش از نمایش پیام در فرم ورودی تأیید هویت اجرا میشود. - اکشن
two_factor_after_authentication_promptکه شیء ارائهدهنده را دریافت کرده و پس از نمایش پیام در فرم ورودی تأیید هویت اجرا میشود. - اکشن
two_factor_after_authentication_inputکه شیء ارائهدهنده را دریافت کرده و پس از نمایش ورودی در فرم تأیید هویت اجرا میشود (اگر فرم ورودی نداشته باشد، بلافاصله پس ازtwo_factor_after_authentication_promptاجرا میشود). two_factor_login_backup_linksپیوندهای پشتیبان نمایشدادهشده در فرم ورود دومرحلهای را فیلتر میکند.
هدایت پس از مرحله تأیید دومرحلهای
برای هدایت کاربران به یک نشانی مشخص پس از تکمیل مرحله تأیید دومرحلهای، از فیلتر داخلی login_redirect در هسته وردپرس استفاده کنید. این فیلتر همانند روند معمول ورود در وردپرس عمل میکند:
add_filter( 'login_redirect', function( $redirect_to, $requested_redirect_to, $user ) {
return home_url( '/dashboard/' );
}, 10, 3 );
عکسهای صفحه




سوالات متداول
افزونه دو مرحلهای از چه نگارشهای PHP و وردپرس پشتیبانی میکند؟
این افزونه از دو نگارش اصلی آخر وردپرس و حداقل نگارش PHP که توسط آن نگارشهای وردپرس پشتیبانی میشوند، پشتیبانی میکند.
چگونه می توانم بازخورد ارسال کنم یا در مورد یک اشکال کمک بگیرم؟
بهترین مکان برای گزارش اشکالات، پیشنهادات ویژگی یا هر بازخورد دیگر (غیر امنیتی) در آن است صفحه مسائل Two Factor گیت هاب. قبل از ارسال یک شماره جدید، لطفاً مشکلات موجود را جستجو کنید تا بررسی کنید که آیا شخص دیگری بازخورد مشابهی را گزارش کرده است یا خیر.
کجا می توانم اشکالات امنیتی را گزارش کنم؟
مشارکت کنندگان افزونه و جامعه وردپرس اشکالات امنیتی را جدی می گیرند. ما از تلاشهای شما برای افشای مسئولانه یافتههایتان قدردانی میکنیم و تمام تلاش خود را برای قدردانی از مشارکت شما انجام خواهیم داد.
برای گزارش یک مشکل امنیتی، لطفاً از برنامه وردپرس HackerOne دیدن کنید.
اگر دسترسی به همه روشهای تأیید هویت خود را از دست بدهم چه میشود؟
اگر کدهای پشتیبان را فعال کرده باشید، میتوانید از یکی از آنها برای بازیابی دسترسی استفاده کنید. اگر کد پشتیبان ندارید یا همه آنها را استفاده کردهاید، باید با مدیر سایت تماس بگیرید تا حساب شما بازنشانی شود. به همین دلیل مهم است که همیشه کدهای پشتیبان را فعال کرده و آنها را در مکانی امن نگهداری کنید.
آیا میتوانم این افزونه را با WebAuthn استفاده کنم؟
این افزونه پیشتر از FIDO U2F پشتیبانی میکرد که پیشدرآمد WebAuthn بود. یک درخواست باز برای افزودن پشتیبانی WebAuthn در اینجا وجود دارد: https://github.com/WordPress/two-factor/pull/427
آیا روش پیشنهادی برای استفاده از passkeyها یا کلیدهای امنیتی سختافزاری با Two‑Factor وجود دارد؟
بله. برای passkeyها و کلیدهای امنیتی سختافزاری میتوانید افزونه Two‑Factor Provider: WebAuthn را نصب کنید: https://wordpress.org/plugins/two-factor-provider-webauthn/ این افزونه بهصورت مستقیم با Two‑Factor یکپارچه میشود و تأیید هویت مبتنی بر WebAuthn را بهعنوان یک گزینه دومرحلهای اضافی برای کاربران اضافه میکند.
نقد و بررسیها
توسعه دهندگان و همکاران
“Two Factor” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کردهاند.
مشارکت کنندگان“Two Factor” به 42 زبان ترجمه شده است. با تشکر از مترجمین برای همکاری و کمکهایشان.
ترجمه “Two Factor” به زبان شما.
علاقه مند به توسعه هستید؟
کد را مرور کنید، مخزن SVN را بررسی کنید، یا از طریق RSS در گزارش توسعه مشترک شوید.
گزارش تغییرات
۰.۱۶.۰ — ۲۰۲۶-۰۳-۲۷
- تغییرات ناسازگار: حذف پشتیبانی از ارائهدهنده قدیمی FIDO U2F توسط #439.
- ویژگیهای جدید: افزودن صفحه تنظیمات اختصاصی برای پیکربندی افزونه در wp-admin توسط #764.
- ویژگیهای جدید: افزودن فیلتر پیوندهای پشتیبانی تا استفادهکنندگان بتوانند پیوندهای راهنما یا بازیابی متناسب با زمینه را سفارشی کنند توسط #615.
