
CAPTCHA based on a sliding tile puzzle - topmo3
Show HN -- http:&#x2F;&#x2F;www.secanto.com is a mobile-centric CAPTCHA based on a sliding tile puzzle where users restore the original picture by sliding around the fragments that were randomly rearranged.
======
gus_massa
Put the "Show HN:" in the title, so it triggers the magic filter (see the
posts in
[https://news.ycombinator.com/show](https://news.ycombinator.com/show) )

I was confused by the gif in the landing page. I tries to use it but it
changed magically. Perhaps you can add a fake moving mouse to make it clear
that it is autorunning.

The examples are quite easy. I had to move only 2 or 3 pieces. Is that on
porpoise?

Do you have some bot protection? It looks easy to automate or se brute force
to solve it. Adding more margin to each tile may make it more difficult to
solve by a computer.

~~~
topmo3
Thanks for the feedback!

Yes, the examples are simple on purpose -- just to let people get the feel of
it.

It can run both arbitrarily large (e.g. 8x12 on an iPad) puzzles, as well as
"chain" them -- so you'd have to solve 2 or 3 simple ones on a small screen.

Bot protection is actually in three tiers:

1) "window pane" margin, and obfuscation of the edge area -- while examples
are running 'clear' to make things as easy and pretty as possible -- in
production mode I can "fuzzy" a boundary that's uneven depth ("wavy") to
prevent both simple edge alignment and probabilistic sampling from the
perimeter areas.

2) JS being auto-generated from a changing template -- so there are multiple
fake functions and objects with random names you'd have to parse out before
you get to manipulate the image fragments

3) "Classic" perimeter defense -- e.g. "rate of http requests from this
address", etc.

Thanks for taking a look at it!

------
topmo3
Show HN:

\-- Let's see if the magic filter drags it from a comment as well (would love
to avoid having re-submit and risking triggering a spam-guard... which I'm
sure watches to multiple re-submits from the same user handle...)

