django-axes/README.rst

99 lines
3 KiB
ReStructuredText
Raw Normal View History

2019-05-01 13:22:15 +00: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
2020-11-26 10:31:02 +00:00
.. image:: https://github.com/jazzband/django-axes/workflows/Test/badge.svg
:target: https://github.com/jazzband/django-axes/actions
:alt: GitHub Actions
2016-07-30 15:50:55 +00:00
2018-12-23 15:21:42 +00:00
.. image:: https://codecov.io/gh/jazzband/django-axes/branch/master/graph/badge.svg
:target: https://codecov.io/gh/jazzband/django-axes
:alt: Coverage
2016-07-30 15:50:55 +00:00
2020-09-13 13:12:38 +00:00
Axes is a Django plugin for keeping track of suspicious
login attempts for your Django based website
and implementing simple brute-force attack blocking.
The name is sort of a geeky pun, since it can be interpreted as:
* ``access``, as in monitoring access attempts, or
2019-05-01 13:00:08 +00:00
* ``axes``, as in tools you can use to hack (generally on wood).
Functionality
-------------
Axes records login attempts to your Django powered site and prevents attackers
2020-09-13 13:12:38 +00:00
from attempting further logins to your 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.
2013-11-08 00:08:16 +00:00
Documentation
-------------
For more information on installation and configuration see the documentation at:
2016-07-30 15:05:13 +00:00
https://django-axes.readthedocs.io/
Issues
------
If you have questions or have trouble using the app please file a bug report at:
2016-07-30 15:05:13 +00:00
https://github.com/jazzband/django-axes/issues
Contributions
-------------
2020-09-13 13:12:38 +00:00
All contributions are welcome!
It is best to separate proposed changes and PRs into small, distinct patches
2020-09-13 13:12:38 +00:00
by type so that they can be merged faster into upstream and released quicker.
One way to organize contributions would be to separate PRs for e.g.
* bugfixes,
2020-09-13 13:12:38 +00:00
* new features,
* code and design improvements,
* documentation improvements, or
* tooling and CI improvements.
2019-10-25 20:41:52 +00:00
2020-09-13 13:12:38 +00:00
Merging contributions requires passing the checks configured
2019-10-25 20:41:52 +00:00
with the CI. This includes running tests and linters successfully
on the currently officially supported Python and Django versions.
2020-11-26 10:31:02 +00:00
The test automation is run automatically with GitHub Actions, but you can
2019-10-25 20:41:52 +00:00
run it locally with the ``tox`` command before pushing commits.
2020-09-13 13:12:38 +00:00
Please note that 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>`_.