{ "info": { "author": "Jarn", "author_email": "info@jarn.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Plone", "Framework :: Zope2", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "-----------------------------\nCaptchas without server state\n-----------------------------\n\nA view to generate a captcha image and/or wav file, and to verify user input\nagainst it.\n\nA cookie is used to transfer state from one request to the next. The state is\nused, together with a server-side secret, to create a random string of\ncharacters, which in turn is displayed as a captcha image, or transformed to\nan audio file. Verification happens case-insensitively.\n\nNote that the captcha 'word' is only usable for 5-10 minutes, after which the\nview will not accept it any more. Moreover, a different word will be generated\nfor a given session key every 5 minutes.\n\nThis makes these captchas replayable for up to 10 minutes if a determined\nuser keeps sending the same session id. Because of the server-secret though,\ncaptchas are not transferrable between sites.\n\nInstalling\n----------\n\nThis package requires Plone 2.5 or later, and plone.keyring 1.1 or later.\n\nInstalling without buildout\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nInstall this package in either your system path packages or in the lib/python\ndirectory of your Zope instance. You can do this using either easy_install or\nvia the setup.py script. You'll also need to install plone.keyring in the same\nfashion.\n\nAfter installing the package it needs to be registered in your Zope instance.\nThis can be done by putting a collective.captcha-configure.zcml file in the\netc/package-includes directory with this content::\n\n \n\nor, alternatively, you can add that line to the configure.zcml in a package or\nProduct that is already registered.\n\nInstalling with buildout\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you are using `buildout`_ to manage your instance installing\ncollective.captcha is even simpler. You can install collective.captcha by\nadding it to the eggs line for your instance::\n\n [instance]\n eggs = collective.captcha\n zcml = collective.captcha\n\nThe last line tells buildout to generate a zcml snippet that tells Zope\nto configure collective.captcha.\n\nIf another package depends on the collective.captcha egg or includes its zcml\ndirectly you do not need to specify anything in the buildout configuration:\nbuildout will detect this automatically.\n\nAfter updating the configuration you need to run the ''bin/buildout'', which\nwill take care of updating your system, including installing the plone.keyring\ndependency.\n\n.. _buildout: http://pypi.python.org/pypi/zc.buildout\n\nRegistering plone.keyring KeyManager\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nOn any Plone version prior to 3.1, you'll need to make sure that the plone.keyring KeyManager utility has been registered. In the Zope ZMI, use the portal_setup tool to run the plone.keyring KeyManager registration profile.\n\nUsing the view\n--------------\n\nSee the captcha.txt doctest in the collective.captcha.browser package, as well\nas captcha.txt in collective.captcha.form.\n\nCopyright and credits\n----------------------\n\ncollective.captcha is copyright 2007 by `Jarn`_ (formerly known as Plone\nSolutions), and is licensed under the GPL. See LICENSE.txt for details.\n\nIt was written by Martijn Pieters.\n\n.. _Jarn: http://www.jarn.com/\n\n--------------------------\ncollective.captcha changes\n--------------------------\n\n1.7 (2012-02-27)\n----------------\n\n- Disuse 'zope.testing.doctest' in favor of stdlib's 'doctest'.\n [tseaver]\n\n- Suppress 'sha' deprecation under Python 2.6+\n [tseaver]\n\n- Suppress 'Globals.package_home' deprecation under Zope 2.12+.\n [tseaver]\n\n- Add `verify` to the list of allowed attributes on the Captcha\n view, allowing restricted code to verify submitted captchas.\n [mj]\n\n- Better session id generation & redundant sha1 removal.\n [serhat]\n\n- Increase captcha image specling from 0.3 to 1.5\n [serhat]\n\n1.6 (2011-05-29)\n----------------\n\n- Correctly calculate the word for the next time period. Fixes\n http://plone.org/products/collective.captcha/issues/4.\n [mj]\n\n- Adjust imports for Plone 4.1 compatibility.\n [redcor]\n\n- Explicitely define 'image' and 'audio' as publishable.\n [cillian]\n\n1.5 (2010-01-11)\n----------------\n\n- Fixed http://plone.org/products/collective.captcha/issues/3.\n [stefan]\n\n1.4 (2008-05-02)\n----------------\n\n- Switched to using plone.keyring to provide the secret.\n\n1.3 (2008-02-22)\n----------------\n\n- SkimpyGimpy now does have an egg, thanks to Reed O'Brien! Updated \n installation instructions and setup.py.\n\n- Update test to reflect reduced character set used.\n\n1.2 (2007-12-13)\n----------------\n\n- Add a captcha field and widget for zope.formlib.\n\n- Reduced the characters used to generate the captcha to uppercase letters and\n numbers only; user testing showed that even humans had trouble solving the\n captchas.\n\n1.1 (2007-11-21)\n----------------\n\n- Delete the captcha cookie from the response if one is present to\n prevent premature expiration. This would happen when creating a\n new captcha after verification (because verification failed or\n the form would have to be redisplayed for other reasons). Thanks to\n David Glick for pointing this out.\n\n1.0 (2007-11-19)\n----------------\n\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mjpieters/collective.captcha", "keywords": "captcha stateless", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.captcha", "package_url": "https://pypi.org/project/collective.captcha/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.captcha/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mjpieters/collective.captcha" }, "release_url": "https://pypi.org/project/collective.captcha/1.7/", "requires_dist": null, "requires_python": null, "summary": "Stateless captcha generation and verification", "version": "1.7" }, "last_serial": 643014, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "02207a15b33846f43a9fab67a312a806", "sha256": "0c6ad2d079aeef2b99395ab55588fe1d21aebb61a63ef2373f2d87fd8dd1707d" }, "downloads": -1, "filename": "collective.captcha-1.0.tar.gz", "has_sig": false, "md5_digest": "02207a15b33846f43a9fab67a312a806", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 582185, "upload_time": "2007-11-19T17:05:03", "url": "https://files.pythonhosted.org/packages/c4/fa/89e8fcf323bc809239c12c9c9087d57a33da7e45574f3029ab2e966e046e/collective.captcha-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "ff7d8ff59f8edd45a666dfe73c1258bc", "sha256": "4355943ee2baec05166c34dfba4283d3823b46c1f6996704a59d01d4f1b66c8a" }, "downloads": -1, "filename": "collective.captcha-1.1.tar.gz", "has_sig": false, "md5_digest": "ff7d8ff59f8edd45a666dfe73c1258bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 582684, "upload_time": "2007-11-21T09:28:19", "url": "https://files.pythonhosted.org/packages/7c/48/734b1d315a46be18965235a4379c120674bbb343c0ffc31dd7c5ec8dd3ce/collective.captcha-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "736da90ca573be0f11ce58c8083b516c", "sha256": "981de6b3f5551469cee399abb532e58821c2d0a79ac586488723ee2b6bae8049" }, "downloads": -1, "filename": "collective.captcha-1.2.tar.gz", "has_sig": false, "md5_digest": "736da90ca573be0f11ce58c8083b516c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 579864, "upload_time": "2007-12-13T18:36:57", "url": "https://files.pythonhosted.org/packages/b2/8b/274ede5d2aac45006e1691e983276fdd05a9474d7b7fc205c4f16ae797c3/collective.captcha-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "88e032a6503b3cfcafa55d9d8d544b28", "sha256": "af3ec36660fac8ea64b359e53f4e5fede1fe86c5e8c6ba94c3f743947930b29e" }, "downloads": -1, "filename": "collective.captcha-1.3.tar.gz", "has_sig": false, "md5_digest": "88e032a6503b3cfcafa55d9d8d544b28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583727, "upload_time": "2008-02-22T18:47:18", "url": "https://files.pythonhosted.org/packages/c1/16/ce03f09825bbcfec56f84d26263bf39bd56d8ddb507bd580e16437752d1f/collective.captcha-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "7d72961394156d4764361200b5a415a4", "sha256": "f4192db1351baa99f2cca40a642b6209c0228de2332d9b53969a1dd64d8032a2" }, "downloads": -1, "filename": "collective.captcha-1.4.tar.gz", "has_sig": false, "md5_digest": "7d72961394156d4764361200b5a415a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 583840, "upload_time": "2008-05-02T14:21:43", "url": "https://files.pythonhosted.org/packages/5d/45/f4583fa82b16d3084d5eca0fffe74c75db26182a25995de1f134146493c5/collective.captcha-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "c7622798dc6a7e939e23fbad882f6059", "sha256": "bec901e7863a85b3c151e4246cf2bf73854979fc21f16ebb9247255f69961ae0" }, "downloads": -1, "filename": "collective.captcha-1.5.zip", "has_sig": false, "md5_digest": "c7622798dc6a7e939e23fbad882f6059", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 592661, "upload_time": "2010-12-09T10:12:58", "url": "https://files.pythonhosted.org/packages/3c/4d/3c0266effc6ac8cfa6af15b8c4fcc89f7ee570366f2c5b7a4be664645d3f/collective.captcha-1.5.zip" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "b2200982bd162d5c35e142cde292e9e0", "sha256": "bde51f54f52f42e947703dbe29d46fd92235f1f59a2b06bb0441698033ed923b" }, "downloads": -1, "filename": "collective.captcha-1.6.zip", "has_sig": false, "md5_digest": "b2200982bd162d5c35e142cde292e9e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 593073, "upload_time": "2011-05-29T12:27:55", "url": "https://files.pythonhosted.org/packages/8f/91/6cb12d08ecd1f1d842d0b011746cc64adb6ded56897ed98c7068e22e1fed/collective.captcha-1.6.zip" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "bc65090fd026b538ccbbce21e40a579e", "sha256": "49a311539974202ab84d1323530e3dc0a0393318c9b4f3c50df36e938cdfb9f1" }, "downloads": -1, "filename": "collective.captcha-1.7.zip", "has_sig": false, "md5_digest": "bc65090fd026b538ccbbce21e40a579e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 599564, "upload_time": "2012-02-27T22:01:24", "url": "https://files.pythonhosted.org/packages/d3/f4/0709bd2c11802a1c9a6725102994681dd31d4e559049f0596b9d3141ba82/collective.captcha-1.7.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bc65090fd026b538ccbbce21e40a579e", "sha256": "49a311539974202ab84d1323530e3dc0a0393318c9b4f3c50df36e938cdfb9f1" }, "downloads": -1, "filename": "collective.captcha-1.7.zip", "has_sig": false, "md5_digest": "bc65090fd026b538ccbbce21e40a579e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 599564, "upload_time": "2012-02-27T22:01:24", "url": "https://files.pythonhosted.org/packages/d3/f4/0709bd2c11802a1c9a6725102994681dd31d4e559049f0596b9d3141ba82/collective.captcha-1.7.zip" } ] }