A phpBB 3.3.x extension that integrates Cloudflare Turnstile as a CAPTCHA provider for registration, login, and guest posting, for modern bot protection.
Current Version:
1.2.6
( File Size: 66 KB )
This extension provides registration, login, and guest posting protection with Cloudflare Turnstile.
ext/ directoryext/icecorp/turnstile/Via ACP → Customise → Extensions → Cloudflare Turnstile:
A live preview of the widget appears in the settings page when a valid site key is configured, showing the current theme and size settings.
Note: Automatic checks run approximately every 24 hours via phpBB’s cron system, which triggers on page visits by default. If Run periodic tasks from system cron is “enabled” in ACP → Server settings, ensure your system cron runs bin/phpbbcli.php cron:run regularly.
Note: After failed attempts and Always both require Cloudflare Turnstile to be selected as the board CAPTCHA.
ext/icecorp/turnstile/ folder via FTP/File Managerext/ directoryext/icecorp/turnstile/Important: You must change the CAPTCHA setting before disabling the extension.
ext/icecorp/turnstile/ folder via FTP/File ManagerIf you have Login Protection set to “Always” and API Failure Behaviour set to “Fail closed” (the default), you can get locked out if your Turnstile keys become invalid or Cloudflare’s API is unreachable.
To recover, run one of these SQL queries via phpMyAdmin or command line:
Disable login protection:
UPDATE phpbb_config SET config_value = '0' WHERE config_name = 'icecorp_turnstile_login_mode';
Or switch to fail-open mode:
UPDATE phpbb_config SET config_value = '1' WHERE config_name = 'icecorp_turnstile_fail_mode';
(Adjust phpbb_ prefix if your database uses a different table prefix.)
If you’ve set Widget Type to “Visible” in the extension but the widget doesn’t appear, check your Cloudflare Turnstile widget settings.
In the Cloudflare dashboard, Widget Mode must be set to Managed or Non-Interactive. If it’s set to “Invisible”, the widget will be hidden regardless of your extension settings — Cloudflare’s Invisible mode overrides the extension’s visibility configuration.
To fix: Go to Cloudflare Dashboard → Protect & Connect → Turnstile → Edit your widget → Change Widget Mode to Managed (recommended) → Save.
If you have Login Protection set to “Always” and phpBB’s Maximum number of login attempts is above 0, login will fail once that threshold is reached, even with a solved Turnstile and the correct password.
In Always mode the extension already checks Turnstile. After the threshold, phpBB checks the same token again. Turnstile tokens are one-use, so that second check fails and the password is never reached. Login works again once phpBB’s attempt window expires.
To fix: Go to ACP → General → Board configuration → Spambot countermeasures → set Maximum number of login attempts to 0.
phpBB.com Extensions in Development: [3.3][BETA] Cloudflare Turnstile
Changelog available in above phpBB.com link.
Feel free to reach out with feedback and questions using the form below.