Forum Moderators: phranque
You might want to check with the script provider for an updated version of the script, and/or check elsewhere for information on security holes and/or patches.
Eliz.
A clue: you are (probably) assuming that everyone accesses your site via a browser. When you sumbit a form from the web, it passes data to the script. Many of these submits are required to set up an account and collect data such as a session ID or the Capcha (image verification.)
Suppose I could skip all steps of registration and verification by opening a command window and doing something like this
curl 'http://www.example.com/bbscript.cgi?action=new_post&userid=someknownuser&loginok&body=spam+content+here'
Admittedly this is a very simplified (and nonfunctional, of course) explanation but this is most likely how it's done: once someone figures out a query string that will get past the security functions, they can write a script that will send this command repeatedly and never even have to visit the page.
Also google for SQL Injection. Another method for horribly vulnerable programs in PHP or other scripting languages.
If you add a ref="nofollow" to any url processed in the script, it helps, although the bots don't know if you use that or not, but at least you aren't linking out to bad neighborhoods.
You just have to keep on top of it, it's not a problem if you make sure to delete all spam instantly, spammers kind of keep loose lists from what I can tell, when they see their stuff get deleted right away, they tend to just go somewhere else, since there are so many unprotected blogs, guestbooks, and forums on the web, it's a matter of quantity of backlinks gathered, not of spamming your guestbook specifically.