deft/notes/high_iq_captcha.org
Yann Esposito (Yogsototh) c1d2459d0c
save
2024-08-14 11:35:42 +02:00

2.9 KiB

High IQ captcha

tags
blog
source
https://news.ycombinator.com/item?id=30414374

I just recently read into HN a new notion. High IQ Captcha. Captcha designated to prevent low IQ people to access some resources, but are easy to get from higher level IQ.

We could extend this notion to use community filtering captchas. And I think this looks like a great idea. It will not make it impossible to retrieve some resources, but the price to pay will be different depending on your community. For some, it will be almost impossible to reach.

Maybe it could be the great system to prevent eternal September in social networks.

Another interesting idea will be to hide a few gems into my articles behind such kind of system.

Like having a small encrypted text which would only be revealed if the reader want to put the extra effort in finding the result.

Let's try to find a few different exercises for the reader.

Visible only via the HTML source:

<div style="display:none>
The hidden text is here.
I expect it not to be difficult to find.
</div>

And perhaps we could generate a specific `css` with only the good answer:

<html>
<head>
<style>
#hidden {
  display: none;
  border: solid 3px;
  text-align: center;
  font-size: large;
  padding: 2em;
}
p + .r1t:checked + .r1f
 + p + .r2t:checked  + .r2f
 + p + .r3t:checked + .r3f
 + div#hidden
, p + .r1t + .r1f:checked
 + p + .r2t + .r2f:checked
 + p + .r3t + .r3f:checked
 + div#hidden
{
  display: block;
}
</style>
</head>
<body>
  <form>
  <p> What is ... your name? </p>
  <input type="radio" name="response1" class="r1t">Galaad</inpu>
  <input type="radio" name="response1" class="r1f">Arthur</input>
  <p> What is ... your quest? </p>
  <input type="radio" name="response2" class="r2t">to seek the holy grail!</inpu>
  <input type="radio" name="response2" class="r2f">to seek the holy grail!</input>
  <p> What is ... your favorite color? </p>
  <input type="radio" name="response3" class="r3t">red</inpu>
  <input type="radio" name="response3" class="r3f">blue</input>
  <div id="hidden">
    This is the CSS hidden message and it works.
  </div>
  </form>
</body>
</html>

Then ask users to use the inspector to retrieve the data.

Then potentially, hide the data into some comment, or extra meta difficult to retrieve and ask them to look at the HTML source.

Encrypted

A better idea is to use random long bits of data, with XOR. And answering all good answers will provide the correct XOR key. Can we make that with a static website without js? Hmm…. I don't think so ;)

Secret being: MAIN_URL/secret with secret being the letters/numbers of the answers. I think we could do that with a form with some sort of backend dynamic program.

Anyway it was a fun though experiement.