一个实现黑名单的简单django应用程序

django-simple-blacklist的Python项目详细描述


这个应用程序为django项目提供了简单的黑名单逻辑。 您可以阻止特定的IP地址和用户代理访问特定的页面或查看每个HTTP方法的名称。 此外,还可以配置规则,以在每个datetime.timedelta()的n个请求之后自动阻止用户,并通知 网站管理员关于已被阻止的客户端!

快速启动

  1. 将“黑名单”添加到已安装的应用程序设置中,如下所示:

    INSTALLED_APPS = (
        ...
        'blacklist',
    )
    
  2. 运行python manage.py migrate以创建黑名单模型。

  3. 对需要黑名单逻辑的视图使用黑名单装饰符,如下所示:

    from blacklist.utils import blacklisting
    
    urlpatterns = (
        url(r'^view/$', blacklisting(log_requests=True)(my_view), name='log'),
    )
    
  4. 在settings.py中为自动阻塞逻辑配置自动阻塞规则设置:

    AUTO_BLOCKING_RULES = (
        {
            'RULE': {
                'ip': '.*',
            },
            'PERIOD': datetime.timedelta(days=1),
            'BLOCK_AFTER': 10,
            'ENABLED': True,
            'PROPOSAL': True,
            'NOTIFY': (
                ('Mikhail Nacharov', 'mnach@ya.ru'),
            )
        },
    )
    
And call blacklist.models.RequestLog.objects.create_blocking_rules() periodically to create BlockRules. Please use cron via django-cronjobs or setup django-celery for this purpose.

5个。如果需要电子邮件通知,请按照中的说明配置django电子邮件设置 https://docs.djangoproject.com/en/1.8/topics/email/。如果要发送用户站点 在创建了阻塞规则的地方,还需要启用和配置django 站点框架:https://docs.djangoproject.com/en/1.8/ref/contrib/sites/

要求

这个包与Django 1.7和1.8兼容,可以在python 2.7及更高版本上运行

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

推荐PyPI第三方库


热门话题
具有x86javapath的x64机器上x86java上的java JNI未满足链接错误   java将Pixmap的一部分上传到GPU   图像Java位图RLE8格式   java Android studio谷歌广告崩溃应用程序   java如何创建包含未知数量对象的变量?   Java计算给定int数组的所有可能组合   java JDBC classnotfound异常   httpclient中的java将HttpEntity转换为字符串的最优雅/正确的方法是什么?   如何从Java程序运行nano?   java在安卓中调用自定义类/方法   调用方法和JOptionPane后,允许代码继续执行所需的java计时器或其他想法   关于侦听器的向量Java并发问题   线程池执行器Java线程池   java配置DTO上的Swagger javax验证约束   Java中用于按钮功能的swing操作命令   ServletOutputStream中的java设置状态代码   java打印输入数组的平均值