When BOTCHA is enabled on the same form as Mollom module captcha, form submission fails due to Mollom not accepting its Captcha.

Comments

iva2k’s picture

The issue is with default configuration of both modules to protect user/register page (user_register_form).

- Tried with Mollom 7.x-1.1, 7.x-2.0 - both fail
- Removing BOTCHA solves Mollom problem.
- Alternatively, removing Mollom captcha from that form also solves the problem.

iva2k’s picture

Looking for root cause of the problem, I found that this single line in hook_form_alter() breaks mollom captcha:

    $form_state['no_cache'] = TRUE;

Filed issue in Mollom's queue #1532794: Mollom captcha fails on forms with $form_state['no_cache']=TRUE

iva2k’s picture

"$form_state['no_cache'] = TRUE" was introduced to fix #1510082: BOTCHA D7: form rebuild is not happening properly on invalid submission.

iva2k’s picture

Status: Active » Closed (won't fix)

Use this verified rework: If you enable protection of user/register form in BOTCHA, disable Mollom protection on it. If you want captcha on it as well, use Captcha module.
BOTCHA has much more sophisticated protection than Mollom honeypot, but it depends on disabling form caching (Mollom is using form caching in some non-standard way), and Captcha module works as it has no dependency on form caching.

donquixote’s picture

Issue summary: View changes
Status: Closed (won't fix) » Active

It would be a nice idea to first filter the form submission through BOTCHA, and then pass it on to Mollom for additional protection.
#4 means this cannot happen.

#1532794-10: Mollom captcha fails on forms with $form_state['no_cache']=TRUE (sun) suggests that the disabling of the form cache is not necessary.
Could we give this a try?

oadaeh’s picture

Status: Active » Closed (outdated)

Since Mollom has reached it's end of life as of April 2, 2018, I'm closing this as outdated.