How to Fix Divi Contact Module Captcha Problems

Written by Dan Mossop

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.

Optimize Your Membership Site with Divi ARMember Kit!

Seamlessly integrate Divi and ARMember with the Divi ARMember Kit. Add login and signup popups, and restrict content by ARMember plan effortlessly. Enhance your membership site's functionality and user experience with these tailored features.

About Dan Mossop

Dan is a Scottish-born web developer, now living in Brisbane with his wife and son. He has been sharing tips and helping users with Divi since 2014. He created Divi Booster, the first Divi plugin, and continues to develop it along with 20+ other Divi plugins. Dan has a PhD in Computer Science, a background in web security and likes a lot of stuff, 

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 *.

We may earn a commission when you visit links on our website.