# \[ANN\] The end of Capchas: Thorny Form plugin

**URL:** <https://www.ruby-forum.com/t/ann-the-end-of-capchas-thorny-form-plugin/159892>\
**Category:** Rails\
**Created:** [February 9, 2009, 8:45pm UTC](https://www.ruby-forum.com/t/ann-the-end-of-capchas-thorny-form-plugin/159892 "2009-02-09T20:45:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![wybo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/cc9497/32.png) [@wybo](https://www.ruby-forum.com/u/wybo)\
**Post date:** [February 9, 2009, 8:45pm UTC](https://www.ruby-forum.com/t/ann-the-end-of-capchas-thorny-form-plugin/159892/1 "2009-02-09T20:45:10Z")

</div>

Thorny Form is a Rails plugin for unobtrusively protecting forms  
against form-SPAM.

It adds extra fields like a honeypot and some others which can then be  
checked before the form-data is used in your application.

To use Thorny Form you just need to change two lines per form. First  
in the view  
form\_for has to be replaced by thorny\_form\_for  
(remote\_form\_for by remote\_thorny\_form\_for).

Then in the controller you have to add a check for spam in the shape  
of  
self.thorny\_form\_free\_of\_spam?.

See the full Thorny Form docs for a code example and installation  
instructions here:  
[http://www.logilogi.org/pub/doc/plugins/thorny\_form/](http://www.logilogi.org/pub/doc/plugins/thorny_form/)

It is not an unbreakable solution, but it is likely to continue to  
work for quite some time. The following joke from Ned Batchelders blog  
nicely sketches why:

```
Jim and Joe are out hiking in the forest, when in the distance,
they see a huge bear. The bear notices them, and begins angrily
running toward them. Jim calmly checks the knots of his shoes and
stretches his legs.

Joe asks incredulously, â€œWhat are you doing? Do you think you can
outrun that bear!?â€

Jim replies, â€œI donâ€™t have to outrun the bear, I just have to
outrun you.â€

```

Thorny Form is under the Affero GPL, and developed by the LogiLogi  
Foundation ([http://foundation.logilogi.org](http://foundation.logilogi.org))

greetings,

Wybo W.

* * *

:🧑‍🎓

- Informatiekunde (computer linguistics, IR, webtech), History and  
Philosophy
- Member of the Center for Metahistory Groningen  
([Faculty of Arts | About us | University of Groningen](http://www.rug.nl/let/cmg))

::Free Software and Open Source Developer:

- Active in the LogiLogi Foundation ([http://foundation.logilogi.org](http://foundation.logilogi.org))
- [http://www.LogiLogi.org](http://www.LogiLogi.org), Cumulative, shared commenting, publication  
and  
idea sharing: Where insight comes together…
- ComLinToo, a computational linguistics toolset written in Perl

---

<div class="post-metadata">

**Author:** ![wybo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/cc9497/32.png) [@wybo](https://www.ruby-forum.com/u/wybo)\
**Post date:** [February 9, 2009, 8:48pm UTC](https://www.ruby-forum.com/t/ann-the-end-of-capchas-thorny-form-plugin/159892/2 "2009-02-09T20:48:50Z")

</div>

On Feb 9, 2009, at 8:43 PM, Wybo W. wrote:

> The following joke from Ned Batchelders blog  
> nicely sketches why:

Perhaps worthwhile pointing out the URL as well:

“Stopping spambots with hashes and honeypots”  
– Ned Batchelder, January 2007  
[http://nedbatchelder.com/text/stopbots.html](http://nedbatchelder.com/text/stopbots.html)

–  
PA.  
[http://alt.textdrive.com/nanoki/](http://alt.textdrive.com/nanoki/)

---

<div class="post-metadata">

**Author:** ![wybo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/cc9497/32.png) [@wybo](https://www.ruby-forum.com/u/wybo)\
**Post date:** [February 9, 2009, 8:53pm UTC](https://www.ruby-forum.com/t/ann-the-end-of-capchas-thorny-form-plugin/159892/3 "2009-02-09T20:53:02Z")

</div>

On Feb 9, 2009, at 8:43 PM, Wybo W. wrote:

> It is not an unbreakable solution, but it is likely to continue to  
> work for quite some time. The following joke from Ned Batchelders blog  
> nicely sketches why:

For what’s worth, Nanoki, a wiki engine implemented in Lua, uses Ned  
Batchelders tricks to keep itself spam free.

For an illustration, check the source of the various form:

[http://svr225.stepx.com:3388/main/editor](http://svr225.stepx.com:3388/main/editor)  
[http://svr225.stepx.com:3388/cloud/editor](http://svr225.stepx.com:3388/cloud/editor)

Cheers,

–  
PA.  
[http://alt.textdrive.com/nanoki/](http://alt.textdrive.com/nanoki/)

---

<div class="post-metadata">

**Author:** ![wybo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/cc9497/32.png) [@wybo](https://www.ruby-forum.com/u/wybo)\
**Post date:** [February 10, 2009, 6:19pm UTC](https://www.ruby-forum.com/t/ann-the-end-of-capchas-thorny-form-plugin/159892/4 "2009-02-10T18:19:55Z")

</div>

> [http://svr225.stepx.com:3388/cloud/editor](http://svr225.stepx.com:3388/cloud/editor)  
> Thanks for providing these links.

Feedback on the Rails plugin  
([http://www.logilogi.org/pub/doc/plugins/thorny\_form/](http://www.logilogi.org/pub/doc/plugins/thorny_form/))  
is most welcome.

It is used in [http://www.LogiLogi.org](http://www.LogiLogi.org) (both for remarks and logis/  
documents)

Wybo W.

* * *

:🧑‍🎓

- Informatiekunde (computer linguistics, IR, webtech), History and  
Philosophy
- Member of the Center for Metahistory Groningen  
([Faculty of Arts | About us | University of Groningen](http://www.rug.nl/let/cmg))

::Free Software and Open Source Developer:

- Active in the LogiLogi Foundation ([http://foundation.logilogi.org](http://foundation.logilogi.org))
- [http://www.LogiLogi.org](http://www.LogiLogi.org), Cumulative, shared commenting, publication  
and  
idea sharing: Where insight comes together…
- ComLinToo, a computational linguistics toolset written in Perl
