{"id":352,"date":"2008-06-22T09:29:46","date_gmt":"2008-06-22T13:29:46","guid":{"rendered":"http:\/\/www.rakkar.org\/blog\/?p=352"},"modified":"2008-06-22T09:29:46","modified_gmt":"2008-06-22T13:29:46","slug":"captcha-suggestion-i-made-to-craigslist","status":"publish","type":"post","link":"https:\/\/rakkar.org\/blog\/index.php\/2008\/06\/22\/captcha-suggestion-i-made-to-craigslist\/","title":{"rendered":"Captcha suggestion I made to Craigslist"},"content":{"rendered":"<p>\t\t\t\t&#8220;Have a dictionary of nouns of at least 1000 commonly used nouns. For example &#8220;Tiger, Snake, Man, Computer, Stapler, etc.&#8221; Using PHP or other means, search for this noun on Google image search, with safe search turned on. Pick a random Google cached image off the front page of the results. Display this image to the user, along with a question asking for the original noun. And do this twice, otherwise the attacker could just attempt your dictionary for a .1% success rate. Certain search terms will often fail even for humans &#8211; therefore, store the success rate along with the noun in a database, and any noun with a less than x% success rate won&#8217;t be used. <\/p>\n<p>The noun database should also store unique synonyms for each noun, which will reduce the human fail rate without affecting the bot fail rate.<\/p>\n<p>This captcha works because<br \/>\n1. Humans are good at random image recognition, while computers are not.<br \/>\n2. Although there are only say 1000 nouns, the nouns times the possible number of images (especially if you use common nouns) might be in the millions.<br \/>\n3. Asking twice prevents attackers from just guessing nouns directly. With a dictionary of 1000, asked twice, this results in a 1 in a million chance of successfully asking at random.&#8221;\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Have a dictionary of nouns of at least 1000 commonly used nouns. For example &#8220;Tiger, Snake, Man, Computer, Stapler, etc.&#8221; Using PHP or other means, search for this noun on Google image search, with safe search turned on. Pick a random Google cached image off the front page of the results. Display this image to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/352"}],"collection":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=352"}],"version-history":[{"count":0,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/352\/revisions"}],"wp:attachment":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}