This documentation always refers to the latest published release.
Live demo: Try this and other plugins live, no installation, no risk: demo.markus-michalski.net
Shopware ~6.7.0, PHP >=8.2 and a set APP_SECRET environment variable. The plugin ships the ALTCHA PHP library as source code, so no vendor/ directory is needed for it.
1. Add the private repository to your shop's composer.json:
{
"repositories": [
{
"type": "composer",
"url": "https://packeton.markus-michalski.net"
}
]
}
You receive the repository credentials after purchasing the license. The repository is managed through Packeton.
2. Install the plugin
composer require mmd/sw67-altcha-integration
When prompted for authentication, enter the credentials provided with your license.
3. Activate the plugin
bin/console plugin:refresh
bin/console plugin:install --activate MmdAltchaIntegration
bin/console cache:clear
core.basicInformation.activeCaptchasV2) and backs up their state. On deactivation it restores that state.composer update mmd/sw67-altcha-integration
bin/console plugin:update MmdAltchaIntegration
bin/console cache:clear
For a Store installation, update the extension under Extensions > My Extensions.
When updating from an older release, the following applies:
altchaMaxNumber); it is not converted.<altcha-widget challenge="...">. Widget texts come from the bundled language pack; a custom strings attribute is not evaluated.{{ parent() }}. If the widget is missing, the shop rejects the submission as long as ALTCHA is active. See Storefront Integration.| Task | Interval | Description |
|---|---|---|
mmd_altcha.rate_limit_cleanup |
every 6 hours | Deletes rate-limit entries older than 24 hours and expired used challenges |
mmd_altcha.disposable_domains_refresh |
weekly | Refreshes the disposable-domain list from the public source. Runs only while the disposable e-mail check is on globally |
Both tasks run through the Shopware message queue:
bin/console messenger:consume scheduled_task
Run a task manually:
bin/console scheduled-task:run mmd_altcha.rate_limit_cleanup
You can also refresh the list by hand, for example when the check is on for a single sales channel only:
bin/console mmd:altcha:update-disposable-domains
When uninstalling without the "keep data" option, the plugin removes:
mmd_altcha_used_challenge and mmd_altcha_rate_limit_logMmdAltchaIntegration.config.*)With "keep data", configuration and tables are retained. The refreshed domain list under var/mmd_altcha/ is not removed by the plugin.