ip based restrictions for repoze.what.
Project description
It is a repoze.what plugin that provides an ip_from predicate.
Installation
$ <env>/bin/easy_install repoze.what.plugins.ip
pip:
$ <env>/bin/pip install repoze.what.plugins.ip
Source
The source code can be found at code.google.com.
Usage
ip_from([allowed=None], [proxies=None]) checks whether REMOTE_ADDR in the environment points to an allowed IP address. If HTTP_X_FORWARDED_FOR is set in the environment (meaning proxy access) then REMOTE_ADDR is treated as a proxy address and HTTP_X_FORWARDED_FOR as an originating IP address.
- allowed optional, default - None
A list of IPs to allow access. Can be a string which is then interpreted as a single IP address
- proxies optional, default - None
If a list or tuple provided then treated as a list of authorized proxy IP addresses.
If a string or unicode provided then treated as a single IP address.
Any other value - bool(proxies) == True means that all proxies are accepted
You can filter the incoming IP address:
>>> from repoze.what.plugins.ip import ip_from >>> p = ip_from(allowed=['192.168.1.1']) >>> env = {'REMOTE_ADDR': '192.168.1.1'} >>> p.is_met(env) True >>> env = {'REMOTE_ADDR': '192.168.1.10'} >>> p.is_met(env) False
By default proxy access is disabled. You can enable it with proxies=True:
>>> p = ip_from(allowed=['192.168.0.0/24'], proxies=True) >>> env = { ... 'REMOTE_ADDR': '192.168.1.1', # proxy ... 'HTTP_X_FORWARDED_FOR': '192.168.1.5' # origin ... } >>> p.is_met(env) True
And you can also explicitly specify proxies to allow:
>>> p = ip_from(allowed='192.168.1.5', proxies=['192.168.0.0/24']) >>> env = { ... 'REMOTE_ADDR': '192.168.1.1', # proxy ... 'HTTP_X_FORWARDED_FOR': '192.168.1.5' # origin ... } >>> p.is_met(env) True
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 Distributions
File details
Details for the file repoze.what.plugins.ip-0.2.tar.gz
.
File metadata
- Download URL: repoze.what.plugins.ip-0.2.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6837ff113c8e07068800a925248053cfbc2c12a93d94b9732b3b1ba5e01a5d5 |
|
MD5 | 47645cd70db4dcb27de8b89df9fbb3f6 |
|
BLAKE2b-256 | c03b15dfbc57cbedf2bf75e8bcfb550f658845e3449078e27b9abe5a2413d497 |
File details
Details for the file repoze.what.plugins.ip-0.2-py2.6.egg
.
File metadata
- Download URL: repoze.what.plugins.ip-0.2-py2.6.egg
- Upload date:
- Size: 36.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 366e0a6019db02a35a128917a04e8d691b2f55944d0b0131b51446844b49f049 |
|
MD5 | 56c467a2a0b7ffbc48c1ce6d511cc262 |
|
BLAKE2b-256 | b33124a8d64e2338b5b20bb8cb29830408c283218cf683ae7c5d3316ccff1918 |
File details
Details for the file repoze.what.plugins.ip-0.2-py2.5.egg
.
File metadata
- Download URL: repoze.what.plugins.ip-0.2-py2.5.egg
- Upload date:
- Size: 36.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba20b4ad7e15a4d554239cfada336cf7663d2a330ccff75fd64f73915b8adc39 |
|
MD5 | ead055787f6142daffbe19f2e1c44211 |
|
BLAKE2b-256 | 69fa6a1568c343734d8ea6f7095c673986ef582363d8805289279db1c596ef0a |