Hello all, I've recently installed Drupal 4.6.2 and am customizing it to suit my needs.

Generally I've found the community-provided modules to be pretty good out of the box, and they have so far enabled me to do most of what I need to do.

One thing I can't seem to figure out, though, is how to create a simple guestbook, with CAPTCHA capability (Turing test) to protect against guestbook spam.

I installed both guestbook.module and captcha.module and I found that Administer/Captcha wouldn't allow me to turn on the Turing test for guestbook entries, but only for user registration, content creation and comment posting. Additionally, it didn't seem to work even for those... I turned it on, set the access control for it, and tried to comment: there was no Turing test. This doesn't concern me in itself because I only need CAPTCHAs on the guestbook, but it seems a bit weird nonetheless.

So, what I'm wondering is, is there a way to implement this in a (mostly) straightforward fashion? As with all issues of this kind, I'm sure there must have been someone else before me who struggled with this problem. I wasn't able to find trace of that in the forums though.

What would you use to do this? Is there a better (== more customizable/with more "advanced" features) guestbook module? Ideally something CAPTCHA-ready? If not, how do I handle the integration with CAPTCHA, assuming that's feasible and that I can get captcha.module to work properly?

As far as I can see with my limited understanding, core CAPTCHA support is what would be good for me. That way I could just turn it on and it would be automatically enabled for any module I want. However this feature seems to still be under discussion (as seen at http://drupal.org/node/14737).

Any pointers or helpful suggestions of any kind would be immensely appreciated. I asked in #drupal-support and was ignored. I do RTFM and search for my own questions to see if they are already answered (it's true! they usually are), but I do need support here. If I don't get any feedback I'll just have to assume this isn't feasible on Drupal and drop it in favor of some other app, which I'd rather not do because I like Drupal. Unfortunately we don't all have the skills to enable us to see in the most obscure corners of such a complex app, so I'm hoping that the community will help a less experienced member here... thanks a lot in advance for that :)

---
mindwarp

My environment:

- output of uname -a:
FreeBSD mybox.xxx 4.10-PRERELEASE FreeBSD 4.10-PRERELEASE #2: Thu May 13 12:30:58 PDT 2004 root@mybox.xxx:/usr/obj/usr/src/sys/DEDICATED i386

- output of mysql -V:
mysql Ver 12.22 Distrib 4.0.18, for portbld-freebsd4.10 (i386)

Comments

kulvik’s picture

I also have the same problem. My guestbook is constantly being filled with spam... Any solution to this?

- Thomas -

"If I do this, he might kick me back. That's not what I want. So I break his arm" - Bas Rutten

NGRhodes’s picture

I have set member only posts for my guestbook, user registration I have captcha enabled.

hba’s picture

I've put this into my TODO list: http://drupal.org/node/60249

kulvik’s picture

Excellent!

- Thomas -

"If I do this, he might kick me back. That's not what I want. So I break his arm" - Bas Rutten

rangermeier’s picture

just add the following line to captcha.module (version 4.7.0) at line 35 to extend $captcha_points

                      'guestbook_form_entry' => t('Write a guestbook entry'),
wbsoft’s picture

Exactly what I was looking for!

Wilbert Berendsen

solipsist’s picture

"The image verification code you entered is incorrect."

If you have this error popping up, edit textimage.module and the function that checks whether the captcha is valid. A rough fix is to simply comment out the error message. People will most likely realize their mistake even without it.

--
Jakob Persson
Drupal developer, web designer and usability consultant
http://www.jakob-persson.com

--
Jakob Persson - blog
Leancept – Digital effect and innovation agency

kenyob’s picture

What do I use for Drupal 5.0 .
I did this and nothing shows up.

The function now looks like this:

function _captcha_points() {
$captcha_points = variable_get('captcha_points',NULL);
if($captcha_points == NULL) {
$captcha_points = array(
'comment_form' => t('Comment form'),
'contact_mail_user' => t('User contact form'),
'contact_mail_page' => t('Sitewide contact form'),
/* added from suggestion http://drupal.org/node/29273 */
'guestbook_form_entry' => t('Write a guestbook entry'),
);
variable_set('captcha_points',serialize($captcha_points));
}
else {
$captcha_points = unserialize($captcha_points);
}
return $captcha_points;
}

Azan’s picture