On Sun, 2007-09-09 at 14:33 -0700, Asheesh Laroia wrote:
> On Sun, 9 Sep 2007, Will wrote:
> 
> >
> > Hi,
> >
> > I had an idea to avoid spam. I could put an onClick hander in my
> > submit button that inserts a token in to a hidden field, which is
> > subsequently checked by the Python code. That should distinguish
> > between bots and people, right?
> 
> Only if the bots can't handle JavaScript.  That's usually true.
> 
> But humans using lynx or browsing with JS disabled wouldn't be able to 
> pass the test.  So it's not quite great.

And speaking of humans, lots of "spambots" actually *are* human, so
there's no foolproof method.

Probably the best route is going to be a combination of techniques, each
weighted and combined into a final "spamminess" factor:

1. Checking the "referer" header - lots of spammers try to go directly
to forms (usually found via a search engine), so requiring them to visit
another page first is a hassle for them.

2. Bayesian content filtering (divmod's Reverend might be a good choice
here).

3. Simple "human" test (adding two numbers, captcha, etc).

4. External spam tests (i.e. checking against a dns blacklist).

5. Honeypot features.  This is mostly useful against bots, but having a
hidden form entry that would not be filled in by a human is a good way
to detect a bot (most of them try to fill in all the fields on a form
regardless of what the field pertains to).

At the end of your tests, if the spamminess factor is a certain level
you can submit it for human review (moderation), which is going to be
the only foolproof method.  You can also use this step to help train
your Bayesian filter if you choose to use one.

Clearly a human spammer can't be easily defeated by automated means, but
volume is their goal, so a site that slows them down significantly will
be an unattractive target (at the very least it helps reduce the overall
amount of spam on the net if each spam takes longer). 

The trick is to find the sweet spot that isn't too draconian for valid
users but bothersome for people trying to achieve high volumes. 


Regards,
Cliff


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to