I see we just got 15 spam posts. Rejecting any post by users with < 10 posts would fix that.
Spam deleted. I’m quite looking forward to the batch-delete ability…
It is hardly a good idea to disallow posting for people with too few posts, that way they will never be allowed to post 
(sorry, if I just explained a bad joke)
- Scarzzurs
The rate at which spam arrived in the previous forum was such that it was trivial to deal with (as I check JGO about, ooh, 200 times a day). Unfortunately I had no powers to actually remove any of it though I was plagued by report emails. So really I think there isn’t a spam “problem” at all, given the size of the forums.
Cas 
Was at least 5 spam posts per day on the old forum, most were deleted manually pretty quickly and ip’s banned (forever).
New forums been pretty good so far, only two or three posts have made it through in total.
Exactly - 5 a day between a bunch of moderators is trivial. I have to deal with 50 long rambling support emails a day - can you please find some sort of robotic solution to that for me instead 
Cas 
Do you mean posters? Because I reported one guy who’d made 15.
Yes, of course thats what I meant 
What’s still worrying is the tons of new members still signing up and not posting anything. Banning them has no effect since their intention isn’t to post anything. So looks like the current protection just isn’t good enough. They’re also clogging up the database and members list.
Well, there is a captcha for new posts too, if you have less than X posts.
Tomorrow I’m going to put JGO into maintenance mode for an hour or so and do a cleanup.
Can’t we locate the persons behind these spam bots, and just physically beat the hell out of them? :
Simply delete any accounts that don’t post after 7 days.
Cas 
As said earlier, deleting an account is not simply deleting a record from the jgoforums_members table. There are foreign keys pointing to those members, and by removing the record (including primary key) you can get into a lot of trouble, to the extend that the forum stops working.
I therefore use the ‘ban this account’ built into SMF, feeding it the result of the query that figures out all accounts without posts.
SELECT ID_MEMBER
FROM jgoforums_members
WHERE NOT EXISTS (
SELECT *
FROM jgoforums_messages
WHERE jgoforums_members.ID_MEMBER = jgoforums_messages.ID_MEMBER
)
AND `dateRegistered` < UNIX_TIMESTAMP() - 7*24*3600
Removing accounts one at a time, will (eventough automated) probably take a while and may have to be throttled, so I’m probably going to put it in a cronjob.
Besides that, it’s not a solution to the spam problem.
hm slightly cranky database design… I suppose it doesn’t come with on delete cascade etc.
Cas 
What about people that are registered so they can track new posts? For example, I had posted my first post after over year since I registered account here.
You can’t just blindly delete all accounts with 0 posts. What about some check for links in signature and last login activity? I think people who register just for tracking wouldn’t set their signature right away (at least majority), but I can be wrong. Maybe just checking the last login date would be sufficient.
Yes, that’s a better idea. Basically vape dormant accounts.
Cas 
You should use a RSS feed 
Okay: who exactly are we helping by deleting unused accounts? It certainly doesn’t have noticeable impact on the forum performance.
There are 20.000 accounts without posts and without personal messages and without topic notifications.
After a cleanup, there would be 10.000 accounts remaining. I doubt anybody would notice the difference.
So why not put all effort in the spam problem itself, instead of the lingering accounts that might or might not be created by spammers. I couldn’t really care less about signature spam in some far away page that will have an extremely low pagerank, as there are hardly any links to it.
Out of the 30341 members that would get rid of 23971 (accurate at the time of posting :)).
Thats more then 79% of members, further a few thousand (at least 5k) can probably be shaved off as they are inactive or dead (haven’t posted anything or logged on in years, and have less then 5 posts).
A cleaner database is a happy database 
The database doesn’t really care, and removing accounts can cause a lot of lurkers to loose their account. I am already receiving personal messages from lurkers. I just don’t see the advantages here, and if any, they are outweighed by the potential problems and inconveniences big time.