콘텐츠로 바로가기
WordPress.org

한국어

  • 테마
  • 플러그인
  • 소식
    • 문서
    • 포럼
  • About
    • WordPress 6.9
    • 워드프레스 6.8
    • 워드프레스와 40% 웹을 위한 여정
    • 워드프레스 번역 핸드북
  • 워드프레스 한국팀
  • 워드프레스 받기
워드프레스 받기
WordPress.org

Plugin Directory

FactorGuard – Two-Factor Authentication

  • 플러그인 제출하기
  • 내 즐겨찾기
  • 로그인
  • 플러그인 제출하기
  • 내 즐겨찾기
  • 로그인

FactorGuard – Two-Factor Authentication

작성자: Usman Ali Qureshi
다운로드
  • 세부사항
  • 평가
  • 설치
  • 개발
지원

설명

FactorGuard is a lightweight, privacy-first Two-Factor Authentication (2FA) plugin for WordPress. It adds a rock-solid two-step verification layer to the default WordPress login page — without relying on any external cloud service or third-party API.

After a user enters the correct username and password, they must complete a second step: enter a one-time code sent to their email or use a time-based code from an authenticator app like Google Authenticator or Authy.

🔒 Zero external API calls. All verification happens on your own server.

Core Features:

  • ⚡ Email OTP — send a one-time passcode to the user’s registered email address
  • 📱 Authenticator App (TOTP) — full RFC 6238 support for Google Authenticator, Authy, Microsoft Authenticator, and any TOTP-compatible app
  • 🔑 One-time backup codes — hashed recovery codes so users never get locked out
  • 🔐 Military-grade encryption — TOTP secrets encrypted at rest using libsodium XSalsa20-Poly1305
  • 🚫 Replay attack protection — accepted TOTP codes are invalidated for the current time-slice
  • ⏱️ Brute force & rate limiting — configurable lockout after too many failed attempts
  • 🎛️ Flexible settings — OTP code length (4–10 digits), code expiry (1–60 min), lockout duration
  • 🧙 Setup wizard — guided onboarding to configure your preferred 2FA method in minutes
  • 🌐 API-safe — automatically bypasses OTP for REST API and XML-RPC requests
  • 🌍 Translation ready — fully internationalised and .pot file included
  • 🧹 Clean uninstall — removes all plugin data on uninstall (opt-in)

How It Works – Email OTP

  1. User enters their username and password on the login page
  2. If credentials are correct and OTP is enabled, a verification code is emailed to the user
  3. The login form shows an OTP input field (username/password fields are hidden)
  4. User enters the code sent to their email
  5. On success, login completes. On failure, the attempt is counted toward the lockout limit

How It Works – TOTP (Authenticator App)

  1. Site admin enables TOTP under Settings > FactorGuard
  2. Each user visits their Profile page and scans the QR code with their authenticator app
  3. Users enter the 6-digit code shown in their app to activate TOTP on their account
  4. On subsequent logins, the login form asks for the current authenticator app code instead of sending an email

스크린샷

General settings for email OTP length, expiry, rate limiting, and lockout behavior.
General settings for email OTP length, expiry, rate limiting, and lockout behavior.
Authenticator App settings with profile enrollment guidance for QR-code setup.
Authenticator App settings with profile enrollment guidance for QR-code setup.
FactorGuard setup wizard for choosing the site's two-factor verification method.
FactorGuard setup wizard for choosing the site’s two-factor verification method.
User profile two-factor section showing active authenticator status and backup-code controls.
User profile two-factor section showing active authenticator status and backup-code controls.

설치

  1. Upload the factorguard folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings > FactorGuard to configure the plugin
  4. Make sure your WordPress site can send emails (test with a password reset if unsure)

Privacy and External Services

FactorGuard performs OTP and authenticator app verification locally on your WordPress site. It does not send verification codes, authentication secrets, site data, or user data to a FactorGuard service.

Email OTP messages are sent through WordPress using wp_mail(). Your site’s configured mail delivery provider may process those emails according to that provider’s terms and privacy policy.

QR codes for authenticator app setup are generated locally using libraries bundled with the plugin. No external QR code API is contacted. The bundled TOTP library includes optional remote provider classes, but FactorGuard initializes only the local QR provider and does not use those remote providers.

Recovery Notice

Before forcing two-factor authentication for all users, confirm that at least one administrator has a working verification method, has generated backup codes, and can access those codes if email delivery or an authenticator app is unavailable.

FAQ

Does this work with custom login forms?

FactorGuard hooks into the default WordPress login page at /wp-login.php. For custom login forms, developers can use the factorguard_bypass filter to control the behavior programmatically.

Does this affect REST API or XML-RPC authentication?

No. The plugin automatically detects API requests and skips OTP verification for them. Application passwords and other API authentication methods continue to work normally.

What if the email doesn’t arrive?

If the email fails to send, the user will see an error message and can try logging in again to trigger a new email. Check your WordPress email delivery settings if this persists.

Does FactorGuard contact external services?

No. FactorGuard does not contact a FactorGuard server or any third-party API during normal operation. Email delivery is handled by your WordPress site’s configured mail system.

What should I do before forcing two-factor authentication for all users?

Verify that your administrator account can complete login with the selected method, confirm that WordPress email delivery works, and generate backup codes from your WordPress profile.

Where do users scan the authenticator app QR code?

After an administrator enables Authenticator App support under Settings > FactorGuard, each user can enroll from their WordPress profile page. The profile screen shows the QR code, manual setup key, confirmation field, and backup-code controls.

Can I exclude specific users from OTP?

Yes. Use the factorguard_user_can_bypass filter. Example: add_filter( 'factorguard_user_can_bypass', '__return_true' ); to bypass for all users, or check user roles/capabilities in your callback.

Does TOTP require any server extensions?

TOTP setup requires the PHP libsodium extension so FactorGuard can encrypt authenticator app secrets at rest. FactorGuard will not create new authenticator app enrollments if secrets cannot be encrypted. QR codes are generated locally using bundled libraries, and no external QR code API is needed.

후기

이 플러그인에 대한 평가가 없습니다.

기여자 & 개발자

“FactorGuard – Two-Factor Authentication”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자
  • Usman Ali Qureshi

자국어로 “FactorGuard – Two-Factor Authentication”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록을 RSS로 구독하세요.

변경이력

1.0.0

  • Initial release with email OTP and TOTP (authenticator app) support

기초

  • 버전 1.0.0
  • 최근 업데이트: 3주 전
  • 활성화된 설치 10보다 적음
  • 워드프레스 버전 5.6 또는 그 이상
  • 다음까지 시험됨: 7.1.2
  • PHP 버전 8.2 또는 그 이상
  • 언어
    English (US)
  • 태그:
    2FAauthenticationlogin securityotptwo factor
  • 고급 보기

평점

아직 제출된 리뷰가 없습니다.

Your review

모든 리뷰 보기

기여자

  • Usman Ali Qureshi

지원

할 말 있으신가요? 도움이 필요하신가요?

지원 포럼 보기

  • 소개
  • 뉴스
  • 호스팅
  • 개인정보
  • 쇼케이스
  • 테마
  • 플러그인
  • 패턴
  • 배우기
  • 지원
  • 개발자 도구
  • WordPress.tv ↗
  • 참여하기
  • 이벤트
  • 기부하기 ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

한국어

  • X(이전 트위터) 계정 방문하기
  • 블루스카이 계정 방문하기
  • 마스토돈 계정 방문하기
  • 스레드 계정 방문하기
  • 페이스북 페이지 방문하기
  • 인스타그램 계정 방문하기
  • LinkedIn 계정 방문하기
  • 틱톡 계정 방문하기
  • 유튜브 채널 방문하기
  • 텀블러 계정 방문하기
코드는 詩다
The WordPress® trademark is the intellectual property of the WordPress Foundation.