{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Django-Security\r\n\r\n[](https://travis-ci.org/sdelements/django-security)\r\n\r\nThis package offers a number of models, views, middlewares and forms to facilitate security hardening of Django applications.\r\n\r\n# Full documentation\r\n\r\nAutomatically generated documentation of `django-security` is available on Read The Docs:\r\n\r\n* [Django-security documentation](http://django-security.readthedocs.org/en/latest/)\r\n\r\n# Requirements\r\n\r\n* Python >= 2.7\r\n* Django >= 1.8\r\n\r\nFor Django < 1.8 use django-security==0.9.4.\r\n\r\n# Installation\r\n\r\nInstall from Python packages repository:\r\n\r\n pip install django-security\r\n\r\nIf you prefer the latest development version, install from\r\n[django-security](https://github.com/sdelements/django-security) repository on GitHub:\r\n\r\n git clone https://github.com/sdelements/django-security.git\r\n cd django-security\r\n sudo python setup.py install\r\n\r\nAdding to Django application's `settings.py` file:\r\n\r\n INSTALLED_APPS = (\r\n ...\r\n 'security',\r\n ...\r\n )\r\n\r\nPre-Django 1.10, middleware modules can be added to `MIDDLEWARE_CLASSES` list in settings file:\r\n\r\n MIDDLEWARE_CLASSES = (\r\n ...\r\n 'security.middleware.DoNotTrackMiddleware',\r\n 'security.middleware.ContentNoSniff',\r\n 'security.middleware.XssProtectMiddleware',\r\n 'security.middleware.XFrameOptionsMiddleware',\r\n )\r\n\r\nAfter Django 1.10, middleware modules can be added to `MIDDLEWARE` list in settings file:\r\n\r\n MIDDLEWARE = (\r\n ...\r\n 'security.middleware.DoNotTrackMiddleware',\r\n 'security.middleware.ContentNoSniff',\r\n 'security.middleware.XssProtectMiddleware',\r\n 'security.middleware.XFrameOptionsMiddleware',\r\n )\r\n\r\n\r\n\r\nUnlike the modules listed above, some other modules **require** configuration settings,\r\nfully described in [django-security documentation](http://django-security.readthedocs.org/en/latest/).\r\nBrief description is provided below.\r\n\r\n## Middleware\r\n\r\nProvided middleware modules will modify web application's output and input and in most cases requires no\r\nor minimum configuration.\r\n\r\n
| Middleware\r\n | Description\r\n | Configuration\r\n |
|---|---|---|
| ContentNoSniff\r\n | Disable possibly insecure autodetection of MIME types in browsers. Recommended.\r\n | None.\r\n\r\n |
| ContentSecurityPolicyMiddleware\r\n | Send Content Security Policy (CSP) header in HTTP response. Recommended, requires careful tuning.\r\n | Required.\r\n\r\n |
| DoNotTrackMiddleware\r\n | Read user browser's DoNotTrack preference and pass it to application. Recommended, requires implementation in views and templates.\r\n | None.\r\n\r\n |
| LoginRequiredMiddleware\r\n | Requires a user to be authenticated to view any page on the site that hasn't been white listed.\r\n | Required.\r\n\r\n |
| MandatoryPasswordChangeMiddleware\r\n | Redirects any request from an authenticated user to the password change form if that user's password has expired.\r\n | Required.\r\n\r\n |
| NoConfidentialCachingMiddleware\r\n | Adds No-Cache and No-Store headers to confidential pages.\r\n | Required.\r\n\r\n |
| P3PPolicyMiddleware\r\n | Adds the HTTP header attribute specifying compact P3P policy.\r\n | Required.\r\n\r\n |
| SessionExpiryPolicyMiddleware\r\n | Expire sessions on browser close, and on expiry times stored in the cookie itself.\r\n | Required.\r\n\r\n |
| StrictTransportSecurityMiddleware\r\n | Enforce SSL/TLS connection and disable plaintext fall-back. Recommended for SSL/TLS sites.\r\n | Optional.\r\n\r\n |
| XFrameOptionsMiddleware\r\n | Disable framing of the website, mitigating Clickjacking attacks. Recommended.\r\n | Optional.\r\n\r\n |
| XssProtectMiddleware\r\n | Enforce browser's Cross Site Scripting protection. Recommended.\r\n | None.\r\n\r\n |