Keep track of failed login attempts in Django-powered sites.
Find a file
Aleksi Häkli b4f7e71277
Upgrade requirements.txt and pytest-django
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-02 22:42:22 +02:00
axes Use LocMemCache in the development setup 2019-02-26 16:49:35 +02:00
docs Rename migrating to upgrading in docs 2019-03-02 22:40:18 +02:00
.coveragerc Update test runner script and versions 2019-02-03 16:03:29 +02:00
.gitignore Introduce gradual typing with mypy 2019-02-13 01:14:26 +02:00
.prospector.yaml Run more comprehensive prospector checks 2019-02-12 23:33:18 +02:00
.pyup.yml create pyup.io config file 2019-01-20 18:10:20 +02:00
.travis.yml Add PyPy test matrix support 2019-02-23 21:52:53 +02:00
CHANGES.rst Update changelog with handler information 2019-02-24 22:53:53 +02:00
codecov.yml Raise minimum test coverage to 90% 2019-02-10 19:22:13 +02:00
LICENSE GC #1 - I've implemented some of the groovy features offered by philipn. Thanks! 2009-12-16 23:24:30 -05:00
manage.py Use pytest for test runner 2019-02-20 23:05:21 +02:00
MANIFEST.in Change suffix on changes to .rst 2019-02-24 22:45:39 +02:00
mypy.ini Introduce gradual typing with mypy 2019-02-13 01:14:26 +02:00
pytest.ini Run coverage with pytest 2019-02-22 08:30:11 +02:00
README.rst Improve README and add functionality chapter 2019-03-02 22:40:27 +02:00
requirements.txt Upgrade requirements.txt and pytest-django 2019-03-02 22:42:22 +02:00
setup.py Change suffix on changes to .rst 2019-02-24 22:45:39 +02:00
tox.ini Add PyPy test matrix support 2019-02-23 21:52:53 +02:00

Django Axes
===========

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

.. image:: https://img.shields.io/github/stars/jazzband/django-axes.svg?label=Stars&style=socialcA
   :target: https://github.com/jazzband/django-axes
   :alt: GitHub

.. image:: https://img.shields.io/pypi/v/django-axes.svg
   :target: https://pypi.org/project/django-axes/
   :alt: PyPI release

.. image:: https://img.shields.io/readthedocs/django-axes.svg
   :target: https://django-axes.readthedocs.io/
   :alt: Documentation

.. image:: https://secure.travis-ci.org/jazzband/django-axes.svg?branch=master
   :target: http://travis-ci.org/jazzband/django-axes
   :alt: Build Status

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

.. image:: https://pyup.io/repos/github/jazzband/django-axes/shield.svg
   :target: https://pyup.io/repos/github/jazzband/django-axes/
   :alt: Updates


Axes is a very simple way for you to keep track of failed
login attempts for your login and administration views.
The name is sort of a geeky pun, since it can be interpreted as:

* ``access``, as in monitoring access attempts, or
* ``axes``, as in tools you can use hack (generally on wood).

In this case, however, the hacking part of it can be taken a bit further:
Axes is intended to help you *stop* people from hacking your website.


Functionality
-------------

Axes records login attempts to your Django powered site and prevents attackers
from brute forcing the site when they exceed the configured attempt limit.

Axes can track the attempts and persist them in the database indefinitely,
or alternatively use a fast and DDoS resistant cache implementation.

Axes can be configured to monitor login attempts by
IP address, username, user agent, or their combinations.

Axes supports cool off periods, IP address whitelisting and blacklisting,
user account whitelisting, and other features for Django access management.


Documentation
-------------

For more information see the documentation at:

https://django-axes.readthedocs.io/


Issues
------

If you have questions or have trouble using the app please file a bug report at:

https://github.com/jazzband/django-axes/issues


Contributions
-------------

This is a `Jazzband <https://jazzband.co>`_ project.
By contributing you agree to abide by the
`Contributor Code of Conduct <https://jazzband.co/about/conduct>`_
and follow the `guidelines <https://jazzband.co/about/guidelines>`_.

It is best to separate proposed changes and PRs into small, distinct patches
by type so that they can be merged faster into upstream and released quicker:

* features,
* bugfixes,
* code style improvements, and
* documentation improvements.