Mollom is working nicely for webform nodes but I have several forms embedded in blocks using the webform block module... which don't seem to receive any protection.

Any workaround suggestions?

Comments

sun’s picture

Title: No protection for webform block » No Mollom protection for Webform in block
Project: Mollom » Webform Block
Version: 6.x-1.13 » 6.x-1.1
Component: Miscellaneous » Code
Category: support » bug

I'm not really sure why that is, but I suspect it's because the BLOCK_CACHE_GLOBAL.

Forms heavily depend on $form_state and Form API's own caching, so you cannot cache a block that may contain user-specific data. The block should define BLOCK_CACHE_NONE instead.

Therefore, moving over to Webform Block project.

Aside from that, it's of course possible that you perhaps tested with uid 1 or some other user that is able to edit webform submissions and therefore bypasses Mollom's protection.

benmmc’s picture

My workaround for this was to create a block with a static form in it (method="get" and action="/path/to/webform/node") and make the default values of the webform components be %get[formcomponentname]

Sucks because:

  • you no longer have a webform block (it's just a static block with the form html code in it)
  • your previous default values are gone
  • the user has to hit the submit button twice

But it works until there is a fix.

tallsimon’s picture

this is a serious bug... I'm surprised there is still no fix for it! didn't this work for the previous version?

budda’s picture

Back in the day when I wrote webform_block module I got Mollom doing text analysis checks on submissions. It's detailed at http://www.ixis.co.uk/blog/mollom-support-custom-forms

However Mollom has matured a bit more over the past few years so the methods in that blog post are possibly no longer suitable.