Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

To add to radiantmatrix's list:

(most of these are less effective at stopping persistent abuser, but shouldn't stop any valid postings)

  • robots.txt file to stop the innocent search engines from posting
  • one time keys in hidden inputs to track multiple postings to the form without a refresh
  • timestamps in hidden input to track the length of delay between form request and submission. (for some forms, this isn't appropriate, but you can refill the form and ask them to resubmit and/or do something to confirm they aren't a bot)
  • input validation to ensure that the form hasn't been bypassed (eg, make sure select values are options that were on the form)
  • user-agent filtering as there have in the past been signatures of known misbehaving bots, and you might be able to identify a single abusive system/signature
  • rate limiting on all submissions to your system, rather than just a random per-submission delay. (so the more submissions to the site, the longer the delays introduced ... normally to slow down ballot stuffing so that admins can deal with it)

Oh and for the original poster -- and there are plenty of capchas that don't discriminate against visually-impaired, but may cause problems for some other subset of users. Some simple ones are math problems (arithmetic, not calculus) or 'spot the member that's different' where alt text can work (eg, 8 bird species and a dog breed). I've even seen 'write 2 in the box'. Of course, CAPTCHAs don't work. See If CAPTCHA isn't the answer. What is? for more details.

Oh -- and a timestamp hashed against the IP address makes a fairly effective combined one time key and timestamp.


In reply to Re^2: newb: Best way to protect CGI from non-form invocation? by jhourcle
in thread newb: Best way to protect CGI from non-form invocation? by JCHallgren

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-04-25 14:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found