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

102 lines
2.9 KiB
Org Mode

:PROPERTIES:
:ID: b6402aa6-3315-4317-82a5-367af38f0ead
:END:
#+TITLE: High IQ captcha
#+Author: Yann Esposito
#+Date: [2022-02-21]
- tags :: [[id:a5be1daf-1010-428f-a30f-8faf95c1a42f][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:
#+begin_src html
<div style="display:none>
The hidden text is here.
I expect it not to be difficult to find.
</div>
#+end_src
And perhaps we could generate a specific `css` with only the good answer:
#+begin_src html
<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>
#+end_src
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.