How to Fix Divi Contact Module Captcha Problems

The Divi theme's Contact form uses a math-based captcha to help cut down on spam. However, in some cases you may find that when you (or your users) enter the form, they receive a message that the captcha code is incorrect. Assuming the code is in fact entered correctly, there are a variety of reasons why this error may occur. One of these is load balancer problems.

Load balancing is a technique used by many web hosts to handle the amount of traffic the sites that they host (such as yours) receive. If there is too much traffic for one server to handle, the web host may set up additional servers and store a copy of your site on each server. Then as people visit your site they will be shown the copy on one of the servers. Normally this works well, but occasionally it can cause problems.

In particular it causes problems when your website tries to use sessions to remember details of the user's current visit. One example is in the Divi contact form. If you visit a page with a contact form, one of the servers will give you the page with the contact form. It will also generate and store (in a session) the correct answer to the captcha code. However, when you submit the form it may go to a different server which doesn't know the answer. As a result it has no choice but to reject the captcha and contact form.

The solution is to give the server a shared place to store the details of the user details. This can be done by setting the session_save_path within your PHP.ini file. Normally the session_save_path will be set to something like this:

session.save_path = /tmp

To fix this, you need to update this to point to a new folder (e.g. called "sessions") within your website's main directory. Note that for security reasons this folder must not be within the "web root" – i.e. the folder that contains your main website. You may need to check with your web host to figure out exactly what the path to your folder is, but it should end up being something like this:

session.save_path = /home/username/sessions

Now your servers will share access to the session information and features which rely on sessions, such as the Divi contact form, should start working correctly.

This post may contain referral links which may earn a commission for this site

Divi Booster

Hundreds of new features for Divi
in one easy-to-use plugin

2 Comments

  1. is there anything that can help me not receiving spam from the form, even though I have divi captcha on my form?

    Reply

Submit a Comment

Comments are manually moderated and approved at the time they are answered. A preview is shown while pending but may disappear if your are cookies cleared - don't worry though, the comment is still in the queue.

Your email address will not be published. Required fields are marked *.