Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I've found that asking for the answer to a simple question sent the browser as an image (like "2 + 3 - 4 =", a varient of a 'captcha' but not so annoying), with a wee bit of Javascript does quite well.</p> <p>Send your form with the image and answer field, and a hidden field with a "challenge" (some randomly generated string). When the user submits the form, hash the challenge and the answer, and send the result back to the server. The server can check for a valid answer before adding it to the database for review.</p> <p>It seems like a lot of work up front, but it will save hours of review time. Using jQuery:</p> <pre> &lt;script type="text/javascript"&gt; // Hash function to mask the answer function answerMask() { var a = $('#a').val(); var c = $('#c').val(); var h = hex_md5(hex_md5(a) + c); $('#a').val(h); } &lt;/script&gt; &lt;form onsubmit="answerMask()" action="/cgi-bin/comment.py" method="POST"&gt; &lt;table&gt; &lt;tr&gt;&lt;td>Comment&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="comment" /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;# put image here #&lt;/td>&lt;td>&lt;input id="p" type="text" name="a" size="30" /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;&lt;input id="c" type="hidden" value="ddd8c315d759a74c75421055a16f6c52" name="c" /&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="submit" value=" Go "&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/p&gt; &lt;/form&gt; </pre> <hr/> <p><b>Edit update...</b></p> <p>I saw this technique on a web site, I'm not sure which one, so this idea isn't mine but you might find it useful.</p> <p>Provide a form with a challenge field and a comment field. Prefix the challenge with "Pick the third word from: glark snerm hork morf" so the words, and which one to pick, are easy to generate on the server and easy to validate when the form contents come back.</p> <p>The point is to make the user do <i>something</i>, apply a few brain cells, and more work than it's worth for a script kiddie.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload