Skip to main content

put CAPTCHAs on forms

Project description

CAPTCHAmiddleware is a WSGI middleware python packages for putting CAPTCHAs on forms for unauthorized users (those that haven’t logged in yet). If you aren’t authorized – in python terms, if remote_user is not set on the request – then CAPTCHAs and a hidden key will be added to forms with method=POST. You will be required to correctly solve the CAPTCHA in order to submit the POST request. Otherwise, the CAPTCHAmiddleware will stop your request and redirect you back to the form.

What are CAPTCHAs? -or- I hate those things

CAPTCHAs are admittedly imperfect ways of telling humans and computers apart. Presumedly if you are already identified (logged in), then the computer is satisfied that you are you. But what if you want to make an anonymous comment on someone’s blog post? In a perfect world, there would be no CAPTCHAs. In the real world, there is SPAM. So if I want to protect my blog from SPAM-bots, I need to do something. Again, CAPTCHAs aren’t perfect, but they’re at least something.

Why SkimpyGimpy?

I used SkimpyGimpy because it is free, open souce, and has an easy to use API. People complain that the CAPTCHAs are hard to read. I’m sorry about that. If you really want to help, I’m sure the SkimpyGimpy developers would be more than glad for a hand.

Why not reCAPTCHA?

reCAPTCHA is annoying because it uses an API key and is not open source. I have no idea why either of those things are true. If someone wanted to help include reCAPTCHA support in this package, I’d be happy to help. But because my opposition to closed source software (yes, even if they are web services) and API keys, its not a priority for me.

Why do this with middleware instead of in an app?

This is a long debate and the subject of many blog posts. In short, both approaches are valid. If you want to integrated with application logic, you shouldn’t use middleware for something like this. If you just want this functionality and don’t care about tight integration, then this approach might work for you.

Why does CAPTCHAmiddleware look half done?

Because it is. This is very much a work in progress. Its target audience is clearly developers who want to get their hands dirty. So, as per the usual disclaimer, sorry for the mess, am working on it.

Project details


Release history Release notifications | RSS feed

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CAPTCHAmiddleware-0.2.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file CAPTCHAmiddleware-0.2.tar.gz.

File metadata

File hashes

Hashes for CAPTCHAmiddleware-0.2.tar.gz
Algorithm Hash digest
SHA256 bec419e0532efa542e99573dd298b7519bcd2a9b00dda34ead5acd16658d3435
MD5 e791142443f43fd2bdcf7338c075cd71
BLAKE2b-256 4e3b9372395146a613ff01dd0b7cb68775ad03f862ec88ff6f7cfed1e00f06b7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page