Two Factor (2FA) Authentication via Email


簡單、輕量化、有實效,可透過電子郵件進行兩步驟驗證的外掛。網站管理員可以為個別使用者啟用這項功能,也可以在網站的 wp-config.php 檔案中增加一行常數,便能為全部網站管理員、編輯或全部帳號強制啟用這項功能。

WordPress 是目前最受歡迎的內容管理系統 (CMS),全球超過 40% 的網站都執行 WordPress。正因為如此,它成為駭客希望透過已揭露的未授權存取漏洞攻擊的主要目標。保護 WordPress 網站安全中最有效的方式,便是為網站管理員啟用兩步驟驗證功能。

  • 啟用外掛後,便能為個別使用者啟用兩步驟驗證功能。
  • 請確保 WordPress 網站能夠正常傳送電子郵件。最佳方式是使用 SMTP 外掛。


  • 在每一個使用者的 [個人資料] 頁面,使用者可以自行開啟或關閉兩步驟驗證功能
  • 啟用兩步驟驗證功能後,使用者登入後會看到的畫面
  • 錯誤訊息畫面範例
  • 這個兩步驟驗證外掛遭到停用時,傳送至預設網站管理員的電子郵件範例


使用 WordPress 的自動安裝程式或下載外掛安裝套件 ZIP 壓縮檔,並且依照以下方式安裝:

  1. 將外掛安裝套件 ZIP 壓縮檔解壓縮所得的 two-factor-2fa-via-email 資料夾上傳至網站的 /wp-content/plugins/ 目錄中。
  2. 在 WordPress 管理後台的 [外掛] 選單中啟用外掛。
  3. 使用者前往個人專屬的 [個人資料] 頁面 (網站管理員可前往個別使用者的 [個人資料] 頁面),然後啟用兩步驟驗證。



如果使用者沒有收到可以獲得帳號登入存取權的電子郵件,網站管理員就必須停用這個外掛。此時停用外掛的唯一方式,便是將外掛資料夾從 two-factor-2fa-via-email 重新命名為 two-factor-2fa-via-email.backup 或其他名稱。

15 分鐘的登入連結有效時間對使用者來說太長/太短。如何變更這項預設值?

可以。從 1.5.2 版開始,網站管理員可以在網站的 wp-config.php 檔案中加入以下常數及設定值。


上方常數示範設定值的 10 代表登入連結有效時間,單位為分鐘,網站管理員可以依據需求變更。

是否能為每一位 [網站管理員] 使用者群組的使用者強制啟用外掛提供的兩步驟驗證功能?

可以。從 1.6 版開始,網站管理員可以在網站的 wp-config.php 檔案中加入以下常數及設定值。

define('SS88_2FAVE_ENABLE_ADMINS', true);

是否能為每一位 [編輯] 使用者群組的使用者強制啟用外掛提供的兩步驟驗證功能?

可以。從 1.6 版開始,網站管理員可以在網站的 wp-config.php 檔案中加入以下常數及設定值。

define('SS88_2FAVE_ENABLE_EDITORS', true);

是否能為每一位 [訂閱者] 使用者群組的使用者強制啟用外掛提供的兩步驟驗證功能?

可以。從 1.7.1 版開始,網站管理員可以在網站的 wp-config.php 檔案中加入以下常數及設定值。

define('SS88_2FAVE_ENABLE_SUBSCRIBERS', true);


可以。從 1.6 版開始,網站管理員可以在網站的 wp-config.php 檔案中加入以下常數及設定值。

define('SS88_2FAVE_ENABLE_ALL', true);


可以。從 1.6 版開始,網站管理員可以在網站的 wp-config.php 檔案中加入以下常數及設定值。


請將常數示範設定值的 依需求變更為需要的電子郵件地址。


2024 年 4 月 29 日 1 則留言
A lightweight, task-specific two-step login plugin that supports localization. It is very convenient for personal use or for protecting client websites. The developer responds quickly to reasonable requests.
2023 年 4 月 1 日 1 則留言
After trying out some of the other plugins from this developer, I saw there was this 2FA plugin. The sheer amount of spam I get really has raised concerns about security and I’m so glad I found this. Install – click the toggle for 2FA on the user account – done. Easiest way to boost security going, no crazy configuration needs, took literally seconds to do. Seems to work perfectly and I feel a lot better about the integrity of my accounts.
閱讀全部 3 則使用者評論


以下人員參與了開源軟體〈Two Factor (2FA) Authentication via Email〉的開發相關工作。


〈Two Factor (2FA) Authentication via Email〉外掛目前已有 1 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將〈Two Factor (2FA) Authentication via Email〉外掛本地化為台灣繁體中文版


任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄



  • Added 1.7.1 to trunk in WP Plugin Directory for rollback compatibility
  • We are now using $priority 1 on the wp_login hook
  • Added theme/folder compatibility. As of v1.4 developers could add ss88-2fa-page.php to their theme directory. We now support an additional directory ss88-2fa i.e. wp-content/themes/xxx/ss88-2fa/2fa-page.php. v1.4 functionality will be removed in a future release in favor for the new directory ss88-2fa.
  • Added support for advanced developers to use a custom 2FA email. You can now override the 2FA email by copying assets/html/login-email.php to your theme’s directory. Upload this file to wp-content/themes/xxx/ss88-2fa/login-email.php to customize it!


  • A new constant has been integrated which can be added in wp-config.php to override individual user settings to force 2FA to be enabled for Subscribers. Add SS88_2FAVE_ENABLE_SUBSCRIBERS to your wp-config.php i.e. define('SS88_2FAVE_ENABLE_SUBSCRIBERS', true);.


  • Localization integration


  • Integration with the default Remember Me checkbox from WordPress


  • Integration with Ultimate Member


  • Removed accidental code forcing everyone who logged in to receive a 2FA screen


  • Deactivation fatal error fix


  • New Features:
  • Wording changed when SMTP is not enabled.
  • The plugin now sends an email to the site admin if the plugin is deactivated. The email can be overridden by defining the constant SS88_2FAVE_NOTIFICATION_EMAIL in wp-config.php i.e. define('SS88_2FAVE_NOTIFICATION_EMAIL', '');
  • Three new constants added which can be added in wp-config.php to override individual user settings to force 2FA to be enabled. They are: SS88_2FAVE_ENABLE_ALL (to enable for every single account), SS88_2FAVE_ENABLE_ADMINS (to enable only for Administrators), and SS88_2FAVE_ENABLE_EDITORS (to enable for Editors) i.e. define('SS88_2FAVE_ENABLE_ALL', true);.


  • Replaced sanitize_url in favor of esc_url
  • Added a new constant SS88_2FAVE_LINK_EXPIRES_MINUTES so that users can define their own link expiry time in minutes
  • Added a JavaScript countdown timer to the login page


  • Email content fix


  • ‘Fancy’ emails
  • Moving files into appropriate folders
  • Re-order of security features when logging in


  • Added PHP_INT_MAX to wp_login hook
  • Added support for advanced developers to use a custom 2FA template. You can now override the 2FA page by copying assets/2fa-page.php to your theme’s directory. Upload this file to wp-content/themes/xxx/ss88-2fa-page.php to customize it!


  • Fixed ‘dismiss’ link on notification
  • Added support for SMTP Mailer check


  • Added support link to plugin page


  • Fix openssl key
  • Fix echo’ing


  • Initial release.