معرفی شرکت ها


django-forbid-0.0.6


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Secure your Django app by controlling the access - grant or deny user access based on device and location, including VPN detection.
ویژگی مقدار
سیستم عامل -
نام فایل django-forbid-0.0.6
نام django-forbid
نسخه کتابخانه 0.0.6
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Artyom Vancyan
ایمیل نویسنده artyom@pysnippet.org
آدرس صفحه اصلی https://github.com/pysnippet/django-forbid
آدرس اینترنتی https://pypi.org/project/django-forbid/
مجوز MIT
# Django Forbid <img src="https://github.com/pysnippet.png" align="right" height="64" /> Secure your Django app by controlling the access - grant or deny user access based on device and location, including VPN detection. [![PyPI](https://img.shields.io/pypi/v/django-forbid.svg)](https://pypi.org/project/django-forbid/) [![Python](https://img.shields.io/pypi/pyversions/django-forbid.svg?logoColor=white)](https://pypi.org/project/django-forbid/) [![Django](https://img.shields.io/pypi/djversions/django-forbid.svg?color=0C4B33&label=django)](https://pypi.org/project/django-forbid/) [![License](https://img.shields.io/pypi/l/django-forbid.svg)](https://github.com/pysnippet/django-forbid/blob/master/LICENSE) [![Tests](https://github.com/pysnippet/django-forbid/actions/workflows/tests.yml/badge.svg)](https://github.com/pysnippet/django-forbid/actions/workflows/tests.yml) ## Install ```shell python -m pip install django-forbid ``` ## Configuration Add the `django_forbid.apps.ForbidConfig` to your `INSTALLED_APPS` in your Django project's **settings.py** file. ```python INSTALLED_APPS = [ ..., # other apps 'django_forbid.apps.ForbidConfig', ] ``` Also, add the `django_forbid.middleware.ForbidMiddleware` to the `MIDDLEWARE` list of the project. ```python MIDDLEWARE = [ ..., # other middlewares 'django_forbid.middleware.ForbidMiddleware', ] ``` Configuring the `GEOIP_PATH` variable in your project's settings is important. This variable should contain the path to the GeoLite2 database file. You should [download](https://dev.maxmind.com/geoip/geoip2/geolite2/) the database and follow the Django [documentation](https://docs.djangoproject.com/en/2.1/ref/contrib/gis/geoip2/#settings) for proper configuration. ## Usage After connecting the Django Forbid to your project, you can define the set of desired zones to be forbidden or allowed. All you need is to set the `DJANGO_FORBID` variable in your project's settings. It should be a dictionary with the following keys: - `DEVICES` - list of devices to permit or forbid access to - `COUNTRIES` - list of countries to permit or forbid access to - `TERRITORIES` - list of territories to permit or forbid access to - `OPTIONS` - a dictionary for additional settings - `ACTION` - whether to `PERMIT` or `FORBID` access to the listed zones (default is `FORBID`) - `PERIOD` - time in seconds to check for access again, 0 means on each request - `VPN` - use VPN detection and forbid access to VPN users - `URL` - set of URLs to redirect to when the user is located in a forbidden country or using a VPN - `FORBIDDEN_LOC` - the URL to redirect to when the user is located in a forbidden country - `FORBIDDEN_VPN` - the URL to redirect to when the user is using a VPN - `FORBIDDEN_KIT` - the URL to redirect to when the user is using a forbidden device Unlike the `COUNTRIES` and `TERRITORIES`, where the middleware decides whether to permit or forbid access based on the given `ACTION` value, the `DEVICES` list accepts device types where the names starting with `!` are forbidden. This is done to make it possible to make them all mix together. ```python # Forbid access to all devices that have a small screen. 'DEVICES': ['!car', '!player', '!peripheral', '!camera'] # Allow access to all devices having regular or large screens. 'DEVICES': ['desktop', 'smartphone', 'console', 'tablet', 'tv'] ``` The available device types are: `smartphone`, `peripheral` - refers to all hardware components that are attached to a computer, `wearable` - common types of wearable technology include smartwatches and smartglasses, `phablet` - a smartphone having a larger screen, `console` - PlayStation, Xbox, etc., `display`, `speaker` - Google Assistant, Siri, Alexa, etc., `desktop`, `tablet`, `camera`, `player` - iPod, Sony Walkman, Creative Zen, etc., `phone`, `car` - refers to a car browser and `tv` - refers to TVs having internet access. ```python DJANGO_FORBID = { 'DEVICES': ['desktop', 'smartphone', 'console', 'tablet', 'tv'], 'COUNTRIES': ['US', 'GB'], 'TERRITORIES': ['EU'], 'OPTIONS': { 'ACTION': 'PERMIT', 'PERIOD': 300, 'VPN': True, 'URL': { 'FORBIDDEN_LOC': 'forbidden_location', 'FORBIDDEN_VPN': 'forbidden_network', 'FORBIDDEN_KIT': 'forbidden_device', }, }, } ``` The available country codes in the required ISO 3166 alpha-2 format are listed [here](https://www.iban.com/country-codes). And the available continent codes (territories) are: `AF` - Africa, `AN` - Antarctica, `AS` - Asia, `EU` - Europe, `NA` - North America, `OC` - Oceania and `SA` - South America. _None of the settings are required. If you don't specify any settings, the middleware will not do anything._ ## Contribute Any contribution is welcome. If you have any ideas or suggestions, feel free to open an issue or a pull request. And don't forget to add tests for your changes. ## License Copyright (C) 2023 Artyom Vancyan. [MIT](https://github.com/pysnippet/django-forbid/blob/master/LICENSE)


نیازمندی

مقدار نام
>=2.1 Django
- geoip2
- device-detector


زبان مورد نیاز

مقدار نام
>=3.6 Python


نحوه نصب


نصب پکیج whl django-forbid-0.0.6:

    pip install django-forbid-0.0.6.whl


نصب پکیج tar.gz django-forbid-0.0.6:

    pip install django-forbid-0.0.6.tar.gz