Captcha Alternative for Plone 3.X

Products.humanator的Python项目详细描述


简介

验证码有很多缺点,比如可用性和可能的错误 安全感。作为记录验证码容易破解的白皮书 越来越普遍,安全问题也越来越受到关注。

humanator依赖于一种不同的方法来确定用户是人类还是 不是。Humanator小部件不依赖于图像(和音频),而是询问用户 问题如下:

What is six plus 9?

Type the word 'human' in all capital letters.

What is the best programming language of all time?

用户提供正确答案,然后验证表单。

这些问题由工具集编辑器创建,并存储为自定义 内容对象简单地称为humanatorquestions。小部件执行随机 针对已发布的HumanatorQuestions进行门户目录搜索,并将其服务于 用户。

products.humanator没有依赖项。

基本用法-创建问题

管理问题很简单:

  1. Install Humanator (see below).
  2. Inside a Plone folder create a HumanatorFolder.
  3. Inside a HumanatorFolder add a HumanatorQuestion (including an answer).
  4. Publish the new HumanatorQuestion.

基本用法-添加到表单

应按此模式工作:

from zope.interface import Interface
from zope.schema import TextLine
from Products.humanator.form import Humanator

class ITestForm(Interface):
    """
    Test form
    """

    name = TextLine(title=_(u'Name'),
                  description=_(u'Your name'),
                  required=True)

    humanator = Humanator(title  = _('Answer the following question'),
                    description = _('Humanity Check'))

安装Humanator

这个包需要plone 3.x或更高版本。

安装时无需构建

在系统路径包或lib/python中安装此包 Zope实例的目录。您可以使用简易安装或 通过setup.py脚本。

安装包之后,需要在zope实例中注册它。 这可以通过将products.humanator-configure.zcml文件放入 etc/package包含包含此内容的目录:

<include package="Products.humanator" />

或者,也可以将该行添加到包中的configure.zcml中,或者 已注册的产品。

安装时内置

如果使用buildout管理实例安装 products.humanator更简单。您可以通过以下方式安装products.humanator 为您的实例将其添加到“鸡蛋”行:

[instance]
eggs = Products.humanator
zcml = Products.humanator

最后一行告诉buildout生成一个zcml片段,告诉zope 配置products.humanator。

如果另一个包装取决于产品。人形蛋或包括其ZCML 直接不需要在构建配置中指定任何内容: BuildOut会自动检测到这一点。

更新配置后,需要运行“bin/buildout”,其中 将负责更新您的系统。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java创建灰度图像   java Android VideoView在长时间运行(超过24小时)后冻结   javaxml到XSL格式   servlets如何在Java中获取POST变量值   java给加入indtantly jda的用户jda一个角色的最佳方式是什么   java在读取带有列表的文件时获取所有空值   java在无管理员权限的NetBeans中使用JavaFX场景生成器2.0   java如何通过JSON API实现复杂的条件批量部分更新?   java使用ApacheLucene索引大文件时,如何避免内存不足错误?   使用协议“mapi://”从java对outlook中打开的邮件进行编码   java trywithresources详细信息   java在对JTable进行排序后无法从中获取正确的行(Swing)   单元测试如何在测试类(java)中的main中存根函数   oauth 0auth_签名在java中使用SHA1RSA   java重写equals和hashCode只是为了调用super。等于/哈希代码还是抛出断言错误?