-
Notifications
You must be signed in to change notification settings - Fork 0
Home
risingisland edited this page Apr 4, 2026
·
2 revisions
Add Two-Factor Authentication (2FA) to your GetSimple CMS admin login using any TOTP-compatible app such as Google Authenticator, Authy, or 1Password.
- π Secure admin login with TOTP (RFC 6238)
- π± Works with Google Authenticator, Authy, 1Password, and more
- π Single-use recovery codes
- π§ SQLite-based storage (no external dependencies)
- β‘ Lightweight and self-contained
- πͺ Session-based verification (configurable duration)
- π― Seamless integration with GetSimple CMS
- GetSimple CMS
- PHP with:
- SQLite3 enabled
- Standard extensions (
hash,openssl)
-
Upload the plugin file:
2FAforGS.php
to:
/plugins/
-
Log into your admin panel
-
Activate the plugin:
Plugins β 2FA for GS
-
Go to:
Settings β 2FA for GS -
Click Enroll Now
-
Scan the QR code with your authenticator app
OR enter the secret manually -
Enter the 6-digit code to confirm
- Google Authenticator
- Authy
- 1Password
- Any TOTP-compatible app
- Enter your username and password
- If 2FA is enabled, youβll be prompted for a code
- Enter either:
- Authenticator code
- OR Recovery code
- 8 recovery codes are generated during setup
- Each code can only be used once
Settings β 2FA for GS β Regenerate Codes
- Old codes will stop working after regeneration
Settings β 2FA for GS β Reset 2FA
This will:
- Remove your secret
- Disable 2FA
- Require re-enrollment
Default (3 hours):
setcookie(GS2FA_COOKIE, '1', time() + 10800, '/', '', false, true);| Duration | Value |
|---|---|
| Session only | 0 |
| 1 hour | 3600 |
| 3 hours | 10800 |
Location:
/data/other/gs_2fa.db
- Secrets stored in SQLite database
- Recovery codes hashed using
password_hash() - TOTP uses RFC 6238
- Time drift tolerance: Β±1 window
- Uses HTTP-only cookies
Make sure SQLite3 is enabled:
extension=sqlite3- Use a recovery code
- Or delete:
/data/other/gs_2fa.db
https://getsimple-ce.ovh/donate