Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
django-defender — एक सरल, अत्यधिक तेज़ Django पुन: प्रयोज्य ऐप जो लोगों को लॉगिन प्रयासों को ब्रूट फोर्स करने से रोकता है। | Kitploit
उपकरण/GitHubGitHub/jazzband/django-defender
रक्षात्मक उपकरणपासवर्ड हमलेवेब सुरक्षाप्रमाणीकरण
GitHubjazzband/django-defender

django-defender

एक सरल, अत्यधिक तेज़ Django पुन: प्रयोज्य ऐप जो लोगों को लॉगिन प्रयासों को ब्रूट फोर्स करने से रोकता है।

रिपॉजिटरी देखें
1.1k144408 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

django-defender

.. image:: https://jazzband.co/static/img/badge.svg :target: https://jazzband.co/ :alt: Jazzband

.. image:: https://img.shields.io/pypi/pyversions/django-defender.svg :alt: Supported Python versions :target: https://pypi.org/project/django-defender/

.. image:: https://img.shields.io/pypi/djversions/django-defender.svg :target: https://pypi.org/project/django-defender/ :alt: Supported Django versions

.. image:: https://github.com/jazzband/django-defender/workflows/Test/badge.svg :target: https://github.com/jazzband/django-defender/actions :alt: GitHub Actions

.. image:: https://codecov.io/gh/jazzband/django-defender/branch/master/graph/badge.svg :target: https://codecov.io/gh/jazzband/django-defender :alt: Coverage

.. image:: https://readthedocs.org/projects/django-defender/badge/?version=latest :alt: Documentation Status :target: https://django-defender.readthedocs.io/en/latest/?badge=latest

एक सरल Django पुन: प्रयोज्य ऐप जो लोगों को ब्रूट-फोर्सिंग लॉगिन प्रयासों से रोकता है। लक्ष्य इसे यथासंभव तेज़ बनाना है, ताकि लॉगिन प्रयासों को धीमा न किया जाए।

हम एक कैश का उपयोग करेंगे ताकि प्रत्येक लॉगिन प्रयास पर डेटाबेस को हिट न करना पड़े। पहला संस्करण Redis पर आधारित होगा, लेकिन लक्ष्य इसे कॉन्फ़िगरेबल बनाना है ताकि लोग अपनी आवश्यकताओं के अनुसार कोई भी बैकएंड उपयोग कर सकें।

django-defender का उपयोग करने वाली साइटें

यदि आप अपनी साइट पर defender का उपयोग कर रहे हैं, तो सूची में जोड़ने के लिए PR सबमिट करें।

  • https://hub.docker.com
  • https://www.mycosbuilder.com

दस्तावेज़ीकरण

दस्तावेज़ीकरण Read the Docs पर उपलब्ध है:

https://django-defender.readthedocs.io

विशेषताएँ

  • सभी लॉगिन प्रयासों को डेटाबेस में लॉग करें

  • IP पतों के लिए विभिन्न हेडर वाले रिवर्स प्रॉक्सी के लिए समर्थन

  • आधारित दर सीमा

    • उपयोगकर्ता नाम
    • IP पता
  • ब्लैकलिस्ट के लिए Redis का उपयोग करें

  • कॉन्फ़िगरेशन

    • Redis सर्वर

      • होस्ट
      • पोर्ट
      • डेटाबेस
      • पासवर्ड
      • कुंजी उपसर्ग
    • ब्लॉक अवधि

    • ब्लॉक से पहले गलत प्रयासों की संख्या

  • 95% कोड कवरेज

  • पूर्ण दस्तावेज़ीकरण

  • लॉगिन प्रयासों को डेटाबेस में संग्रहीत करने की क्षमता

  • लॉगिन प्रयास डेटाबेस तालिका को साफ करने के लिए प्रबंधन कमांड

  • प्रशासन पृष्ठ

    • अवरुद्ध उपयोगकर्ता नामों और IP पतों की सूची
    • हाल के लॉगिन प्रयासों की सूची
    • लोगों को अनब्लॉक करने की क्षमता
  • कस्टम प्रमाणीकरण विधि में आसानी से अनुकूलित किया जा सकता है।

  • उपयोगकर्ता नाम या IP को ब्लॉक करने पर सिग्नल भेजे जाते हैं

प्रशासन पृष्ठ


.. image:: https://cloud.githubusercontent.com/assets/261601/5950540/8895b570-a729-11e4-9dc3-6b00e46c8043.png :target: https://cloud.githubusercontent.com/assets/261601/5950540/8895b570-a729-11e4-9dc3-6b00e46c8043.png :alt: alt tag

.. image:: https://cloud.githubusercontent.com/assets/261601/5950541/88a35194-a729-11e4-981b-3a55b44ef9d5.png :target: https://cloud.githubusercontent.com/assets/261601/5950541/88a35194-a729-11e4-981b-3a55b44ef9d5.png :alt: alt tag

आवश्यकताएँ

  • Python: 3.8, 3.9, 3.10, 3.11, 3.12, PyPy
  • Django: 3.2, 4.2, 5.0, 5.1, 5.2
  • Redis: 5.x, 6.x, 7.x

स्थापना

कोड डाउनलोड करें, और विधि के अनुसार निम्नलिखित में से किसी एक तरीके से सेटअप चलाएं।

PyPI से उत्पादन-तैयार संस्करण स्थापित करने के लिए:

.. code-block:: bash

pip install django-defender

स्रोत कोड से डाउनलोड करने के बाद विकास संस्करण स्थापित करने के लिए:

.. code-block:: bash

python setup.py install

GitHub रिपॉजिटरी से मास्टर शाखा विकास संस्करण स्थापित करने के लिए:

.. code-block:: bash

pip install -e git+http://github.com/kencochran django-defender.git#egg=django_defender-dev

सबसे पहले, आपको इस प्रोजेक्ट को अपनी settings.py में INSTALLED_APPS की सूची में जोड़ना होगा।

.. code-block:: python

INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', # ... 'defender', # ... ]

इसके बाद, FailedLoginMiddleware मिडलवेयर स्थापित करें।

.. code-block:: python

MIDDLEWARE_CLASSES = [ 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'defender.middleware.FailedLoginMiddleware', ]

यदि आप Django प्रशासन के माध्यम से अवरुद्ध उपयोगकर्ताओं का प्रबंधन करना चाहते हैं, तो अपनी urls.py में निम्नलिखित जोड़ें।

.. code-block:: python

urlpatterns = [ path('admin/defender/', include('defender.urls')), # defender admin path('admin/', admin.site.urls), # normal admin # your own patterns follow... ]

माइग्रेशन


आपको अपने डेटाबेस में संचालन के लिए आवश्यक तालिकाएँ बनानी होंगी।

.. code-block:: bash

python manage.py migrate defender

प्रबंधन कमांड


cleanup_django_defender

यदि आपकी वेबसाइट पर बहुत अधिक ट्रैफ़िक है, तो AccessAttempts तालिका जल्दी भर जाएगी। यदि आपको ऑडिटिंग उद्देश्यों के लिए डेटा रखने की आवश्यकता नहीं है, तो इसे साफ रखने में मदद करने के लिए एक प्रबंधन कमांड है।

यह यह निर्धारित करने के लिए आपकी DEFENDER_ACCESS_ATTEMPT_EXPIRATION सेटिंग को देखेगा कि कौन से रिकॉर्ड हटाए जाएंगे। यदि निर्दिष्ट नहीं किया गया है, तो डिफ़ॉल्ट 24 घंटे है।

.. code-block:: bash

$ python manage.py cleanup_django_defender

आप इसे तालिका का आकार कम रखने के लिए दैनिक या साप्ताहिक क्रॉन जॉब के रूप में सेट कर सकते हैं।

.. code-block:: bash

रोज़ सुबह 12:24 बजे चलाएं।

24 0 * * * /usr/bin/python manage.py cleanup_django_defender >> /var/log/django_defender_cleanup.log

दीर्घकालिक लक्ष्य

  • प्लग करने योग्य बैकएंड, ताकि लोग Redis के अलावा कुछ और उपयोग कर सकें
  • जब उनका खाता अवरुद्ध हो तो उपयोगकर्ताओं को ईमेल करें
  • उपयोगकर्ता नाम और IP के लिए एक श्वेतसूची जोड़ें जिन्हें हम कभी ब्लॉक नहीं करेंगे (प्रशासक, आदि)
  • IP पतों के लिए एक स्थायी ब्लैकलिस्ट जोड़ें
  • ज्ञात प्रॉक्सी IP के लिए स्कैन करें और उन अनुरोधों को ब्लॉक न करें जो उनसे आते हैं (एक अच्छे IP के ब्लॉक होने की संभावना में सुधार)
  • पुराने (कॉन्फ़िगरेबल) लॉगिन प्रयासों को हटाने के लिए प्रबंधन कमांड जोड़ें।

प्रदर्शन


defender का लक्ष्य इसे यथासंभव तेज़ बनाना है ताकि लॉगिन प्रक्रिया धीमी न हो। यह सुनिश्चित करने के लिए कि हमारे लक्ष्य पूरे हो रहे हैं, हमें एप्लिकेशन का परीक्षण करने का एक तरीका चाहिए ताकि यह सुनिश्चित हो सके कि हम सही रास्ते पर हैं। ऐसा करने का सबसे अच्छा तरीका यह तुलना करना है कि सामान्य Django लॉगिन defender और django-axes के साथ कितनी तेज़ी से होता है।

सामान्य Django लॉगिन हमारा आधार रेखा होगी, और हम उम्मीद करते हैं कि यह तीनों विधियों में सबसे तेज़ होगी, क्योंकि कोई अतिरिक्त जाँच नहीं हो रही है।

defender लॉगिन संभवतः Django लॉगिन से धीमा होगा, और उम्मीद है कि django-axes लॉगिन से तेज़ होगा। लक्ष्य सामान्य रॉ लॉगिन और defender के बीच जितना संभव हो उतना कम अंतर रखना है।

django-axes लॉगिन गति संभवतः तीनों में सबसे धीमी होगी क्योंकि यह अधिक जाँच करता है और बहुत सारे डेटाबेस क्वेरी करता है।

लॉगिन की गति निर्धारित करने का सबसे अच्छा तरीका प्रत्येक सेटअप के साथ एक एप्लिकेशन के विरुद्ध लोड परीक्षण करना और प्रत्येक प्रकार के लॉगिन समय की तुलना करना है।

लोड परीक्षण


यह सुनिश्चित करने के लिए कि हम सभी विभिन्न प्रकार के लॉगिन को कवर करते हैं, हमारे लोड परीक्षण में एक से अधिक परीक्षण होने चाहिए।

#. सभी सफल: हम केवल सफल लॉगिन के साथ एक लोड परीक्षण करेंगे।

#. मिश्रित: कुछ सफल कुछ असफल: हम कुछ सफल लॉगिन और कुछ असफलताओं के साथ लोड परीक्षण करेंगे ताकि देख सकें कि असफलता प्रदर्शन को कैसे प्रभावित करती है।

#. सभी असफलताएँ: हम सभी असफल लॉगिन के साथ लोड परीक्षण करेंगे और प्रदर्शन में अंतर देखेंगे।

हमें एक नमूना एप्लिकेशन की आवश्यकता होगी जिसका उपयोग हम लोड परीक्षण के लिए कर सकें, जिसमें एकमात्र अंतर कॉन्फ़िगरेशन है जहाँ हम defender, axes, या उनमें से कोई भी लोड करते हैं।

टूल डाउनलोड करें