Custom CAPTCHA for Website Registration Odoo app icon Website

Custom CAPTCHA for Website Registration

Math CAPTCHA on the Odoo sign-up form, optional on login and password reset, checked on the server, no external service

Odoo 18.0 Odoo 19.0 Odoo 20.0
Custom CAPTCHA for Website Registration for Odoo 18.0 & 19.0 & 20.0

A small sum drawn as an image (for example 14 + 6) protects the Odoo sign-up form. Visitors type the result; the answer is checked on the server and never sent to the browser. It can also be switched on for the login form and for the password reset request. No Google or Cloudflare account, no API key, no call to an outside service.

Key Features

  • Sign-up form protected — Every account created from the sign-up page must pass the sum, including posts sent directly to the page by a script.
  • Optional on login — One setting adds the sum to the login form. A wrong answer stops the attempt before the password is checked.
  • Optional on password reset — One setting adds the sum to the "Reset Password" request, against floods of reset e-mails.
  • Checked on the server — The expected answer stays in the server session. It is used once: a solved image cannot be posted twice and every wrong answer needs a new image.
  • Easy to read — Large dark characters, a refresh button for another sum, whole-number answers only and a numeric keyboard on phones.
  • No outside service — The image is drawn by your Odoo server; nothing is sent to a third party and no key is needed.

Benefits

  • Fewer fake accounts created by sign-up scripts
  • Fewer scripted password guesses on the login form
  • Works offline and on private networks
  • Nothing to configure for the sign-up form

Ideal For

  • Websites and portals with free sign-up open to visitors
  • Companies that do not want Google or Cloudflare on their login pages
  • Installations without outbound internet access

Technical Highlights

  • Sign-up and reset checks in the auth_signup routes; login check through Odoo's own CAPTCHA hook
  • One attempt per image; answer stored in the server-side session only
  • Challenge built from the operating system's random generator
  • Website Interaction for the image and the refresh button
  • Depends on auth_signup only; Community and Enterprise

Supported Odoo Versions

  • Odoo 19
  • Odoo 20
Step-by-step guide

How to Stop Spam Sign-ups on Your Odoo Website with a CAPTCHA

Read the guide →

Frequently asked questions

Does it need Google reCAPTCHA or an API key?

No. The CAPTCHA image is generated by your own Odoo server, so there is no outside service to sign up for and no key to configure.

Where does the CAPTCHA appear?

On the website sign-up (registration) page. On Odoo 19 and 20 it can also be switched on for the login page.

How do I turn on the CAPTCHA for the login page?

On Odoo 19 and 20, go to Settings and, in the Users section, enable "Login CAPTCHA". It then applies to everyone who signs in through the login page, including your internal users. The sign-up page is protected as soon as the module is installed.

What if a visitor cannot read the CAPTCHA?

There is a refresh button next to the image that loads a new question without reloading the page.

What does the visitor have to solve?

A short sum shown as an image: two numbers from 1 to 9 that are added or subtracted. The image is drawn by your Odoo server and the answer is checked on the server.

Which Odoo versions are supported?

Odoo 18, 19 and 20, on Community and Enterprise, Odoo.sh and on-premise installations.

Need a custom Odoo module?

We build tailored Odoo apps and customizations for your exact workflow. Tell us what you need and get a free consultation.