{ "info": { "author": "Ben Timby", "author_email": "btimby@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. figure:: https://travis-ci.org/smartfile/django-secureform.png\n :alt: Travis CI Status\n :target: https://travis-ci.org/smartfile/django-secureform\n\nA `SmartFile`_ Open Source project. `Read more`_ about how SmartFile\nuses and contributes to Open Source software.\n\n.. figure:: http://www.smartfile.com/images/logo.jpg\n :alt: SmartFile\n\nIntroduction\n------------\n\nProvides protection against spammers and scammers.\n\nInstallation\n------------\n\nInstall using pip `pip install django-secureform`\n\nThen install the application into your Django project in settings.py. There are also optional settings\nwhich will affect the behavior of SecureForm instances.\n\n::\n\n INSTALLED_APPS += ('django_secureform', )\n\n # If you wish to use an encryption key other than Django's SECRET_KEY\n SECUREFORM_CRYPT_KEY = 'super-secret encryption key'\n\n # This is the name of the hidden field added to the form to contain\n # security data.\n SECUREFORM_FIELD_NAME = 'foobar'\n\n # The number of seconds allowed between form rendering and submittal.\n SECUREFORM_TTL = 300\n\n # The number of honeypot fields added to the form.\n SECUREFORM_HONEYPOTS = 1\n\n # By default, jQuery is needed to hide honeypots. If you already\n # use jQuery in your app, you can disable this feature (preventing\n # a duplicate script reference to jQuery).\n SECUREFORM_INCLUDE_JQUERY = False\n\nUsage\n-----\n\n::\n\n from django_secureform.forms import SecureForm\n\n\n # Define your form class as usual.\n class MySecureForm(SecureForm):\n class Meta:\n # Override options in settings.py for this class.\n include_jquery = False\n\n name = forms.CharField()\n\n\nUnit Testing\n------------\n\nIf you want to write unit tests for forms that derive from SecureForm, you will\nneed to let this application know you are testing. SecureForm looks for\nsettings.TESTING to evaluate to True. If so, it disables the security allowing\nthe Django test client to send POST data using the original field names.\n\nIn the future, I would rather provide tools so that testing can happen with\nsecurity enabled, but this is a quick workaround. Our test framework uses an\nenvironment variable to set settings.TESTING. For example, in settings.py...\n\n::\n\n import os\n\n TESTING = True if 'TESTING' in os.environ else False\n\n.. _SmartFile: http://www.smartfile.com/\n.. _Read more: http://www.smartfile.com/open-source.html", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/smartfile/django-secureform/", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "django-secureform", "package_url": "https://pypi.org/project/django-secureform/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-secureform/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/smartfile/django-secureform/" }, "release_url": "https://pypi.org/project/django-secureform/0.3-1/", "requires_dist": null, "requires_python": null, "summary": "Provides protection against spammers and scammers.", "version": "0.3-1" }, "last_serial": 802928, "releases": { "0.1-4": [], "0.1-5": [], "0.1-6": [], "0.1-7": [ { "comment_text": "", "digests": { "md5": "28bc4311f93b042d7eb157cf92f6930b", "sha256": "224ed7fbddc27c1521a984bb9c5a93a6a33fb6362f8902f44e8e41fe38f81fef" }, "downloads": -1, "filename": "django-secureform-0.1-7.tar.gz", "has_sig": false, "md5_digest": "28bc4311f93b042d7eb157cf92f6930b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6438, "upload_time": "2013-01-10T16:02:40", "url": "https://files.pythonhosted.org/packages/37/99/f76a2ca8d03e8650dfeb440757c531673165291f47930b4d0e29946a74c9/django-secureform-0.1-7.tar.gz" } ], "0.2-1": [ { "comment_text": "", "digests": { "md5": "69f9326edcb56dd2c6e2b9a156460839", "sha256": "0d9376ff25d678d70826f462ef6e8a212647cad5b4c49028094b5214ed214702" }, "downloads": -1, "filename": "django-secureform-0.2-1.tar.gz", "has_sig": false, "md5_digest": "69f9326edcb56dd2c6e2b9a156460839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6412, "upload_time": "2013-02-15T17:11:03", "url": "https://files.pythonhosted.org/packages/ff/93/d63832afff838aba40293e5a9e737d0f288cf20ae13fbaff754d2ec3130a/django-secureform-0.2-1.tar.gz" } ], "0.3-1": [ { "comment_text": "", "digests": { "md5": "a449b559cee92600fb0ae4cd2eb61942", "sha256": "4cee991caced0a474ca2ab4e97a87176a229b770dbdb5200ed3039f87bc702b8" }, "downloads": -1, "filename": "django-secureform-0.3-1.tar.gz", "has_sig": false, "md5_digest": "a449b559cee92600fb0ae4cd2eb61942", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6812, "upload_time": "2013-04-17T17:04:26", "url": "https://files.pythonhosted.org/packages/19/9c/2606392b64d64b45001168495bb214b2fe0048df32d5959b4dd070ffd6bb/django-secureform-0.3-1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a449b559cee92600fb0ae4cd2eb61942", "sha256": "4cee991caced0a474ca2ab4e97a87176a229b770dbdb5200ed3039f87bc702b8" }, "downloads": -1, "filename": "django-secureform-0.3-1.tar.gz", "has_sig": false, "md5_digest": "a449b559cee92600fb0ae4cd2eb61942", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6812, "upload_time": "2013-04-17T17:04:26", "url": "https://files.pythonhosted.org/packages/19/9c/2606392b64d64b45001168495bb214b2fe0048df32d5959b4dd070ffd6bb/django-secureform-0.3-1.tar.gz" } ] }