Joomla in ontwikkeling: gebruiksvriendelijke, privacy-gerichte en onafhankelijke ingebouwde captcha komt naar Joomla!
Met de release van Joomla 5 zijn de reCAPTCHA-plugins om een aantal goede redenen uit de Joomla-core verwijderd. Het nadeel daarvan was dat de Joomla-core geen standaard geïntegreerde captcha meer had, waardoor formulieren alleen nog tegen spam konden worden beschermd met behulp van plugins van derden. Het goede nieuws is: dat gaat weer veranderen. We introduceren een betere, native en gebruiksvriendelijke oplossing, ingebouwd in de Joomla-core en niet afhankelijk van externe diensten.
Voor een CMS als Joomla, dat traditioneel sterk staat op het gebied van beveiliging, is dit een serieus probleem: het ondermijnt de sterke marktpositie die het CMS op dit vlak heeft. Dit onderwerp is ook besproken tijdens de Joomla 8 Sprint in augustus 2025. De conclusie was duidelijk: Joomla heeft opnieuw een effectieve captcha nodig.
Leren van het verleden
De eerdere core-captchas waren gebaseerd op Google’s reCAPTCHA-dienst. Ten tijde van de eerste implementatie was deze dienst aantrekkelijk omdat hij door Google werd gehost, voortdurend werd aangepast aan nieuwe spambots en gratis te gebruiken was.
Er waren echter ook tal van problemen: gebruikers konden de captcha niet eenvoudig activeren, maar moesten hun website eerst bij Google registreren. In het kader van moderniseringsinspanningen heeft Google oudere captcha-versies geleidelijk uitgefaseerd en recent de eis ingevoerd om een betaalmethode op te geven om reCAPTCHA te kunnen gebruiken — waardoor de drempels voor sitebeheerders steeds hoger werden.
Nog belangrijker was echter de impact van reCAPTCHA op de gebruikerservaring: in het tijdperk van AI worden spambots steeds beter in het oplossen van de taken die ze krijgen. Als gevolg daarvan werden ook de taken die eindgebruikers moesten uitvoeren steeds complexer. Dit is een probleem dat de hele “traditionele” captcha-industrie treft: het idee om met een captcha te bewijzen dat een gebruiker daadwerkelijk menselijk is, blijkt steeds meer een doodlopende weg te zijn.
Een nieuwe captcha-oplossing voor de Joomla-core moest daarom onafhankelijk zijn van diensten van derden, zodat deze met één klik geactiveerd kan worden — en moest gebruikmaken van een mechanisme dat niet probeert de “menselijkheid” van gebruikers te testen.
Proof-of-Work-captchas
Joomla 6.1 introduceert daarom een captcha op basis van de Proof-of-Work- (PoW-) methode: Joomla genereert een wiskundige taak die door de computer van de bezoeker moet worden opgelost. Het genereren van de taak en het controleren van de oplossing gaat zeer snel en vergt nauwelijks middelen, terwijl het daadwerkelijk vinden van de oplossing rekenintensief is en daardoor aanzienlijk meer tijd kost.
Om de captcha op te lossen hoeven bezoekers niet te bewijzen dat ze menselijk zijn, maar “alleen” dat ze bereid zijn de benodigde rekenkracht te investeren om de taak op te lossen. Geautomatiseerde formulier-spam is een verdienmodel dat alleen werkt door enorme aantallen — als het versturen van één enkel bericht traag en rekenintensief wordt, werkt dat model niet meer.
Voor menselijke bezoekers is de gebruikerservaring daarentegen aanzienlijk beter dan bij traditionele captchas: hun browser lost de vereiste rekentaak automatisch op de achtergrond op terwijl de gebruiker het formulier invult. Een prettig bijkomend voordeel van deze aanpak is dat een Proof-of-Work-captcha volledig toegankelijk is.
Integratie in Joomla 6.1
Joomla 6.1 voegt een dergelijke Proof-of-Work-captcha-plugin toe, gebaseerd op de open-sourcebibliotheek ALTCHA. De captcha-plugin is echter bewust zo ontworpen dat de core de huidige op Altcha gebaseerde implementatie in de toekomst kan vervangen door een alternatief systeem, mocht daar behoefte aan zijn. ALTCHA werkt volledig onafhankelijk van gehoste diensten, wat betekent dat er geen registratie bij een externe provider nodig is, geen API-sleutels vereist zijn en er geen conflicten ontstaan met lokale wetgeving op het gebied van gegevensbescherming.
In latere versies van Joomla is het de bedoeling om de Proof-of-Work-implementatie aan te vullen met een zogenoemd rate-limiting-mechanisme: wanneer binnen korte tijd meerdere PoW-uitdagingen vanaf één bron (of specifieker: één IP-adres) worden aangevraagd — bijvoorbeeld wanneer een formulier meerdere keren wordt verzonden — zal de complexiteit van de op te lossen taken bij elke nieuwe inzending toenemen. Dit maakt het voor spammers nog minder aantrekkelijk om de benodigde rekentijd te investeren, aangezien de vereiste middelen bij elke inzending verder oplopen.
Dit artikel werd oorspronkelijk gepubliceerd in het Joomla Community Magazine.
Lees alle artikelen in het magazine via deze link
Joomla! bestaat al 20 jaar als Open Source project. Dat is een lange tijd in technologiejaren! 19 jaar geleden kon je niet eens een iPhone bezitten, of X gebruiken en waarschijnlijk had je geen Facebook-account maar een Hyves-account 😊.
Er is veel gebeurd, maar Joomla! is al die tijd een duurzame keuze gebleken als CMS voor miljoenen websites wereldwijd, ondersteund door een betrokken community.