import Captcha
from Captcha.Visual.Tests import PseudoGimpy
import StringIO
def captcha(request):
    g = PseudoGimpy()
    s = StringIO.StringIO()
    i = g.render()
    i.save(s, 'JPEG')
    request.session['captcha'] = g.solutions[0]
    return HttpResponse(s.getvalue(), 'image/jpg')
now just to integrate it into my signup page.
Tuesday, October 24, 2006
Captcha
They are those boxes with morphed images containing characters.  It stops computers programs or bots to get through your forms - for now.  Why?  Because its hard to write an application to read the characters.  Although computer vision does work , it is pretty processor intensive.
I want a captcha for my signup page.  The reason is that one of the errors I give on the signup page is "this account already exists".  I am currently planning on using email addresses for user names (although this is something I will need to think long and hard about).  I don't want a bot to be able to enumerate my database, by trying to get the account already exists message by creating lots and lots of dummy accounts. 
I found bunch captcha code out there.  One piece of code that I really liked was pycaptcha.  It is a python captcha generator.  Check it out.  only a few lines of code and I have a working captcha in the django framework.
Subscribe to:
Post Comments (Atom)
 
1 comment:
You have a minor bug in the code sample above. Since youre using the Django framework and the HttpResponse object you need to include the proper module.
from django.http import HttpResponse
Post a Comment