一个django中间件,用于将传入的ip限制为管理面板

django-admin-ip-restrictor的Python项目详细描述


https://circleci.com/gh/uktrade/django-admin-ip-restrictor/tree/master.svg?style=shieldhttps://codecov.io/gh/uktrade/django-admin-ip-restrictor/branch/master/graph/badge.svghttps://img.shields.io/pypi/v/django-admin-ip-restrictor.svghttps://img.shields.io/pypi/pyversions/django-admin-ip-restrictor.svghttps://img.shields.io/pypi/l/django-admin-ip-restrictor.svg

一个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也可以使用这些值:true1falsefalse0

运行测试

安装toxpyenv

$ 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

贡献

分叉项目,并提交一个公关!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取textview的文本并将其粘贴到另一个上   java ImageIO。write()不保存文件   java H2数据库排序字符串时间戳,格式为yyyyMMdd'T'hh:mm:ss。SSSSSSS'Z'   java匿名类与静态字段   java将一个句子拆分为字符串数组,并保留特殊字符或空格   JavaBIRT报告引擎。计算Javascript表达式时出错   日志表的java MySQL隔离级别读取未提交   java Android调用意图权限   java如何在iText 7中查找文本位置和边界   从Groovy调用Java类主方法时,避免参数数量不正确   java libGDX:在批处理调用stage constructor时,为舞台上的演员绘制纹理作为背景   java randoop可以利用usermade JUnit测试生成测试吗?   java Eclipse工作区将不再显示我的项目