一个django中间件,用于将传入的ip限制为管理面板
django-admin-ip-restrictor的Python项目详细描述
一个django中间件,用于根据传入的IP限制对django管理员的访问
要求
- python=3.4
- django>;=1.10
- django ipware=>;2,<;3
用法
首先安装软件包:
$ pip install django-admin-ip-restrictor
然后将中间件添加到您的设置中:
# Django 1.10+ MIDDLEWARE = [ ... 'admin_ip_restrictor.middleware.AdminIPRestrictorMiddleware' ]
在settings.py中设置这些变量,以控制谁可以访问管理员(可以混合使用IPv4和IPv6):
RESTRICT_ADMIN=True ALLOWED_ADMIN_IPS=['127.0.0.1', '::1'] ALLOWED_ADMIN_IP_RANGES=['127.0.0.0/24', '::/1'] RESTRICTED_APP_NAMES=['admin']
使用受限制的应用程序名来限制对更多应用程序的访问。始终包括管理应用程序。
如果使用环境变量,请确保变量接收正确类型的值。 django管理IP限制器自动转换以下格式:
$ export RESTRICT_ADMIN='true' $ export ALLOWED_ADMIN_IPS='127.0.0.1,::1' $ export ALLOWED_ADMIN_IP_RANGES='127.0.0.0/24,::/1' $ export RESTRICTED_APP_NAMES='wagtail_admin,foo'
对于restrict_admin也可以使用这些值:true,1,false,false,0
运行测试
安装tox和pyenv:
$ pip install tox pyenv
在pyenv中安装python版本
$ pyenv install 3.4.4 $ pyenv install 3.5.3 $ pyenv install 3.6.2
指定要使用的python版本:
$ pyenv local 3.4.4 3.5.3 3.6.2
运行测试:
$ tox
贡献
分叉项目,并提交一个公关!