跳转到主要内容

在表单上添加CAPTCHAs

项目描述

CAPTCHAmiddleware是一个WSGI中间件Python包,用于为未经授权的用户(那些尚未登录的用户)在表单上添加CAPTCHAs。如果您未被授权 - 在Python术语中,如果请求上的remote_user未设置 - 则将在具有method=POST的表单中添加CAPTCHAs和隐藏密钥。您必须正确解决CAPTCHA才能提交POST请求。否则,CAPTCHAmiddleware将停止您的请求并将您重定向回表单。

什么是CAPTCHAs?-或者-我讨厌那些东西

CAPTCHAs确实是一种区分人类和计算机的方法。假设您已经确定(登录),那么计算机就满意地认为您就是您自己。但如果你想在某人的博客文章上匿名评论呢?在一个完美的世界里,将不会有CAPTCHAs。在现实世界中,存在垃圾邮件。因此,如果我想保护我的博客不受垃圾邮件机器人侵害,我需要做些什么。再次强调,CAPTCHAs并不完美,但至少是某种东西。

为什么选择SkimpyGimpy?

我选择SkimpyGimpy是因为它是免费的、开源的,并且API易于使用。人们抱怨CAPTCHAs难以阅读。对此我深感抱歉。如果您真的想帮忙,我相信SkimpyGimpy的开发者会很乐意得到帮助。

为什么不使用reCAPTCHA?

reCAPTCHA令人讨厌,因为它使用API密钥并且不是开源的。我不知道为什么这两者都是真的。如果有人想帮助在此包中包含reCAPTCHA支持,我会很乐意帮忙。但由于我对封闭源代码软件(即使是网络服务)和API密钥的反对,这对我来说不是优先事项。

为什么使用中间件而不是在应用程序中完成这项工作?

这是一个长期辩论,也是许多博客文章的主题。简而言之,两种方法都是有效的。如果您想与应用程序逻辑集成,则不应为此类内容使用中间件。如果您只想使用此功能而不关心紧密集成,则此方法可能适用于您。

CAPTCHAmiddleware为什么看起来半成品?

因为这确实是。这是一个正在进行的工程。它的目标受众是那些想要动手的开发商。因此,按照惯例免责声明,对于混乱之处表示歉意,我正在努力解决。

由以下组织支持