Django middleware to allow access from specific CIDR ranges
Project description
A Django middleware that allows you to specify a list of allowed hosts using CIDR notation.
Installation
Install using pip:
pip install django-cidr-allowed-hosts
Add the middleware at the top of your MIDDLEWARE settings:
MIDDLEWARE = [
'cidr.middleware.CIDRMiddleware',
...
]
Add the CIDR_ALLOWED_HOSTS setting to your settings:
CIDR_ALLOWED_HOSTS = ["0.0.0.0/0"] # allows any IPv4
And that should be it.
Features
ALLOWED_HOSTS will still work as expected. Since the middleware overrides the ALLOWED_HOSTS setting to "*", the value provided originally to ALLOWED_HOSTS will be stored in ORIGINAL_ALLOWED_HOSTS and used to check if the request should be allowed.
If CIDR_ALLOWED_HOSTS is not set, the middleware will not be used.
If ALLOWED_HOSTS contains "*" and CIDR_ALLOWED_HOSTS is set, the middleware will raise MiddlewareNotUsed exception.
CIDR_ALLOWED_HOSTS must follow the CIDR notation.
Only IPv4 is supported.
Development
python3 -m virtualenv venv source venv/bin/activate pip3 install tox tox
Credits
This project was inspired by django-allow-cidr
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django-cidr-allowed-hosts-1.0.3.tar.gz.
File metadata
- Download URL: django-cidr-allowed-hosts-1.0.3.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2109d0f5539bac7ea4b9529be102fc6fddd2483095bd001ab3b96f0a07311e3
|
|
| MD5 |
3a0499e6e192f9abeaf7ec04d70a3ed9
|
|
| BLAKE2b-256 |
50ad669865ac1b1aabd385025504e14d4748213e2af5178dadfa888f516557c7
|
File details
Details for the file django_cidr_allowed_hosts-1.0.3-py3-none-any.whl.
File metadata
- Download URL: django_cidr_allowed_hosts-1.0.3-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00f7a7e8122502a971bb749b5e236842cf1a763ed13c515d5a9c9dd2e6797db9
|
|
| MD5 |
014c46cb7102911d66097fadccd036ef
|
|
| BLAKE2b-256 |
25f2689dac0d5dedb34ecc178b4c58606e903d2f3f1f2a7c12e171b4475c955e
|