{ "info": { "author": "Dimitris Karakostas", "author_email": "dimit.karakostas@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Security", "Topic :: Security :: Cryptography" ], "description": "django-ctx\n==============\n\nA simple integration of the CTX defense against side-channel attacks for Django projects.\n\nRequirements\n============\n\n- Python 2.5+\n- Django 1.9+\n- ctx-defense\n\nInstallation\n============\n\n- Install the latest stable version using ``pip``:\n\n```sh\npip install django-ctx\n```\n\nConfiguration\n=============\n\n- Add ctx to your *INSTALLED_APPS* setting:\n```python\nINSTALLED_APPS = (\n ...\n 'django_ctx',\n)\n```\n\n- Ctx processes the *context* for template requests, which is implemented using a\n *context processor*. Add the ctx processor to your *context_processors* setting:\n```python\ncontext_processors = (\n ...\n 'django_ctx.context_processors.ctx_protect',\n)\n```\n\nBasic Usage\n===========\n\n- Load the ctx tag library:\n```html\n{% load ctx_tags %}\n```\n\n- Use the *ctx_protect* tag to use ctx on secrets:\n```html\n{% ctx_protect secret origin alphabet %}\n```\n\n*secret* is a string containing the secret that needs to be protected and *origin*\nis a string uniquely identifying the CTX origin for the secret. *alphabet* is\nan optional argument to define the alphabet that the secret belongs to, default\nbeing 'ASCII' which refers to the [ASCII\nprintable](https://docs.python.org/2/library/string.html#string.printable) characters.\n\n- Add the *ctx_permutations* tag to include the used permutations for each\n origin:\n```html\n{% ctx_permutations %}\n```\n The *ctx_permutations* tag needs to be included after all *ctx_protect* tags\n that use an origin for the first time. It is proposed that it is included\n before the ** HTML tag.\n\n- Include the ctx *client script* in the template:\n```html\n\n```\n\nExample\n=======\n```html\n\n\n\n\n\n \n django-ctx Example\n\n\n\n {% load ctx_tags %}\n\n This is a very sensitive secret from origin1: {% ctx_protect \"my secret\" \"origin1\" %}\n This is another very sensitive secret from origin2: {% ctx_protect \"my other secret\" \"origin2\" \"ASCII_printable\" %}\n\n {% ctx_permutations %}\n \n\n\n\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/dimkarakostas/ctx", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dimkarakostas/ctx", "keywords": "django ctx defense compression security BREACH", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-ctx", "package_url": "https://pypi.org/project/django-ctx/", "platform": "", "project_url": "https://pypi.org/project/django-ctx/", "project_urls": { "Download": "https://github.com/dimkarakostas/ctx", "Homepage": "https://github.com/dimkarakostas/ctx" }, "release_url": "https://pypi.org/project/django-ctx/1.0.0/", "requires_dist": [ "Django (>=1.9)", "ctx-defense" ], "requires_python": "", "summary": "A simple integration of the CTX defense against side-channel attacks for Django projects.", "version": "1.0.0" }, "last_serial": 2445653, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "662e47b700afb36b06c2345808c407c2", "sha256": "2fc9bb31ec1c1d83220f46a2ac278181cf5671ac545cec8ebb7043e966befca1" }, "downloads": -1, "filename": "django_ctx-1.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "662e47b700afb36b06c2345808c407c2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6664, "upload_time": "2016-11-06T17:07:35", "url": "https://files.pythonhosted.org/packages/86/f6/63928ae8cfcd8e7626ebfe7568e844604659af8c8ffa9dc89ca19ad7a886/django_ctx-1.0.0-py2.py3-none-any.whl" } ], "1.0.0.dev20161104": [ { "comment_text": "", "digests": { "md5": "6ff6fe96928709727cae2d018a10c7f0", "sha256": "2bc997ae32b235f06c1ed60bd317a265b4650e3bbf1c4040e3378019a5dd1aa8" }, "downloads": -1, "filename": "django_ctx-1.0.0.dev20161104-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6ff6fe96928709727cae2d018a10c7f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6865, "upload_time": "2016-11-04T00:36:23", "url": "https://files.pythonhosted.org/packages/b9/b9/b7036e2f4ee26369a06855d9f7963cb93fcf79be0524d01e0888b0cb7fcc/django_ctx-1.0.0.dev20161104-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "662e47b700afb36b06c2345808c407c2", "sha256": "2fc9bb31ec1c1d83220f46a2ac278181cf5671ac545cec8ebb7043e966befca1" }, "downloads": -1, "filename": "django_ctx-1.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "662e47b700afb36b06c2345808c407c2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6664, "upload_time": "2016-11-06T17:07:35", "url": "https://files.pythonhosted.org/packages/86/f6/63928ae8cfcd8e7626ebfe7568e844604659af8c8ffa9dc89ca19ad7a886/django_ctx-1.0.0-py2.py3-none-any.whl" } ] }