Metadata-Version: 2.4
Name: django-accessblacklist
Version: 0.1.1
Summary: 基于django实现的IP访问黑名单功能。可以通过asn/network对访问IP进行拦截，禁止符合要求的IP访问网站。
Home-page: https://gitee.com/qiukevivien/django-accessblacklist
Author: Walter Liu
Author-email: qiukevivien@126.com
License: AGPL-3.0
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Description-Content-Type: text/markdown
Requires-Dist: django
Requires-Dist: cymruwhois
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: requires-dist
Dynamic: summary

# django-accessblacklist

#### 介绍
基于django实现的IP访问黑名单功能。可以通过asn/network对访问IP进行拦截，禁止符合要求的IP访问网站。

#### 软件架构
middleware对来访ip进行筛查，判断来访IP是否在禁止名单里。
禁止名单包括 asn 和 network ,可以在后台添加。
同时可以在settings.py里定义是否启用拦截，是否启用拦截缓存，拦截缓存使用的后段以及缓存生效时间。


#### 安装教程

1. 确保当前应用已经部署django,
2. pip install django-accessblacklist

#### 使用说明

1.  在settings.py中的INSTALLED_APPS里添加 'accessblacklist',
    eg:
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'accessblacklist',
    ]
2.  在settings.py里这是CACHE:
    eg:
        CACHES = {
            'default': {
                'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',     # 使用本地内存缓存<适用于小型项目，大型项目建议使用Redis或Memcached>
                'LOCATION': 'unique-blackiplist-cache',                         # 缓存的唯一标识符
                'TIMEOUT': 60*60*24*7,                                          # 缓存过期时间（秒） 一周
            }
        }
3.  在settings.py里设置’是否启用缓存功能'和'是否启用拦截记录功能':
    IS_USE_CACHE = True  # 是否启用缓存功能，True表示启用，False表示禁用
    IS_USE_INTERCEPTIONRECORD = True  # 是否启用拦截记录功能，True表示启用，False表示禁用
