You try to convince yourself that you have some (maybe vague) idea of preventing spam, but no, you don't. Having spam is the flip side of the features allowing some flexibility in adding content to your site. The resolution of the problem simply does not exist, you can only alleviate the problem to some degree.
The idea of 100/hour post limit, or something like that, won't work at all. For rare legitimate users, it will be an unwanted hassles. For spammers, 100/hour won't be a problem at all: they will create several accounts and will make enough spam of 100/hour (as if it was not enough!).
Let me put this way: if spam protection in such situations was possible, CodeProject would never had spam. But we has some, and used to have a heavy problem with that. To get some idea, please see:
http://www.paulgraham.com/spam.html[
^] (an article inspired some ideas I used),
A Plan for Spam[
^] (my short CodeProject tips/tricks article written in response to the heavy spamming situation we has).
At least, it could give you the idea on how difficult the problem can be. Actually, I don't know the current status of spam resistance features of CodeProject. If you are interested, you can ask
Chris Maunder here:
http://www.codeproject.com/Forums/1645/Site-Bugs-Suggestions.aspx[
^].
—SA