| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330 |
- Metadata-Version: 1.2
- Name: django-axes
- Version: 5.13.0
- Summary: Keep track of failed login attempts in Django-powered sites.
- Home-page: https://github.com/jazzband/django-axes
- Author: Josh VanderLinden, Philip Neustrom, Michael Blume, Alex Clark, Camilo Nova, Aleksi Hakli
- Author-email: security@jazzband.co
- Maintainer: Jazzband
- Maintainer-email: security@jazzband.co
- License: MIT
- Project-URL: Documentation, https://django-axes.readthedocs.io/
- Project-URL: Source, https://github.com/jazzband/django-axes
- Project-URL: Tracker, https://github.com/jazzband/django-axes/issues
- Description:
- 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://github.com/jazzband/django-axes/workflows/Test/badge.svg
- :target: https://github.com/jazzband/django-axes/actions
- :alt: GitHub Actions
-
- .. image:: https://codecov.io/gh/jazzband/django-axes/branch/master/graph/badge.svg
- :target: https://codecov.io/gh/jazzband/django-axes
- :alt: Coverage
-
-
- 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
- * ``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
- 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.
-
-
- Documentation
- -------------
-
- For more information on installation and configuration 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
- -------------
-
- All contributions are welcome!
-
- 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.
-
- One way to organize contributions would be to separate PRs for e.g.
-
- * bugfixes,
- * new features,
- * code and design improvements,
- * documentation improvements, or
- * tooling and CI improvements.
-
- Merging contributions requires passing the checks configured
- with the CI. This includes running tests and linters successfully
- on the currently officially supported Python and Django versions.
-
- The test automation is run automatically with GitHub Actions, but you can
- run it locally with the ``tox`` command before pushing commits.
-
- 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>`_.
-
-
- Changes
- =======
-
-
- 5.13.0 (2021-02-15)
- -------------------
-
- - Add support for resetting attempts with cache backend.
- [nattyg93]
-
-
- 5.12.0 (2021-01-07)
- -------------------
-
- - Clean up test structure and migrate tests outside
- the main package for a smaller wheel distributions.
- [aleksihakli]
- - Move configuration to pyproject.toml for cleaner layout.
- [aleksihakli]
- - Clean up test settings override configuration.
- [hramezani]
-
-
- 5.11.1 (2021-01-06)
- -------------------
-
- - Fix cache entry creations for None username.
- [cabarnes]
-
-
- 5.11.0 (2021-01-05)
- -------------------
-
- - Add lockout view CORS support with ``AXES_ALLOWED_CORS_ORIGINS`` configuration flag.
- [vladox]
- - Add missing ``@wraps`` decorator to ``axes.decorators.axes_dispatch``.
- [aleksihakli]
-
-
- 5.10.1 (2021-01-04)
- -------------------
-
- - Add ``DEFAULT_AUTO_FIELD`` to test settings.
- [hramezani]
- - Fix documentation language.
- [danielquinn]
- - Fix Python package version specifiers and remove redundant imports.
- [aleksihakli]
-
-
- 5.10.0 (2020-12-18)
- -------------------
-
- - Deprecate stock DRF support from 5.8.0,
- require users to set it up per project.
- Check the documentation for more information.
- [aleksihakli]
-
-
- 5.9.1 (2020-12-02)
- ------------------
-
- - Move tests to GitHub Actions
- [jezdez]
- - Fix running Axes code in middleware when ``AXES_ENABLED`` is ``False``.
- [ashokdelphia]
-
-
- 5.9.0 (2020-11-05)
- ------------------
-
- - Add Python 3.9 support.
- [hramezani]
- - Prevent ``AccessAttempt`` creation with database handler when
- username is not set and ``AXES_ONLY_USER_FAILURES`` setting is not set.
- [hramezani]
-
-
- 5.8.0 (2020-10-16)
- ------------------
-
- - Improve Django REST Framework (DRF) integration.
- [Anatoly]
-
-
- 5.7.1 (2020-09-27)
- ------------------
-
- - Adjust settings import and handling chain
- for cleaner module import and invocation order.
- [aleksihakli]
- - Adjust the use of ``AXES_ENABLED`` flag so that
- imports are always done the same way and initial log
- is written regardless of the setting and it only affects
- code that is decorated or wrapped with ``toggleable``.
- [alekshakli]
-
-
- 5.7.0 (2020-09-26)
- ------------------
-
- - Deprecate ``AXES_LOGGER`` Axes setting and move to ``__name__``
- based logging and fully qualified Python module name log identifiers.
- [aleksihakli]
-
-
- 5.6.2 (2020-09-20)
- ------------------
-
- - Fix regression in ``axes_reset_user`` management command.
- [aleksihakli]
-
-
- 5.6.1 (2020-09-17)
- ------------------
-
- - Improve test dependency management and upgrade black code formatter.
- [smithdc1]
-
-
- 5.6.0 (2020-09-12)
- ------------------
-
- - Add proper development ``subTest`` support via ``pytest-subtests`` package.
- [smithdc1]
- - Deprecate ``django-appconf`` and use plain settings for Axes.
- [aleksihakli]
-
-
- 5.5.2 (2020-09-11)
- ------------------
-
- - Update deprecating use of the ``request.is_ajax`` method.
- [smithdc1]
-
-
- 5.5.1 (2020-09-10)
- ------------------
-
- - Update deprecated uses of Django modules and members.
- [smithdc1]
-
-
- 5.5.0 (2020-08-21)
- ------------------
-
- - Add support for locking requests based on
- username OR IP address with inclusive or
- using the ``LOCK_OUT_BY_USER_OR_IP`` flag.
- [PetrDlouhy]
- - Deprecate Signal ``providing_args`` for Django 3.1 support.
- [coredumperror]
-
-
- 5.4.3 (2020-08-06)
- ------------------
-
- - Add Django 3.1 support.
- [hramezani]
-
-
- 5.4.2 (2020-07-28)
- ------------------
-
- - Add ABC or abstract base class implementation for handlers.
- [jorlugaqui]
-
-
- 5.4.1 (2020-07-03)
- ------------------
-
- - Fix code styling for linters.
- [aleksihakli]
-
-
- 5.4.0 (2020-07-03)
- ------------------
-
- - Propagate username to lockout view in URL parameters.
- [PetrDlouhy]
- - Update CAPTCHA examples.
- [PetrDlouhy]
- - Upgrade django-ipware to version 3.
- [hramezani,mnislam01]
-
-
- 5.3.5 (2020-07-02)
- ------------------
-
- - Restrict ipware version for version compatibility.
- [aleksihakli]
-
-
- 5.3.4 (2020-06-09)
- ------------------
-
- - Deprecate Django 1.11 LTS support.
- [aleksihakli]
-
-
- 5.3.3 (2020-05-22)
- ------------------
-
- - Fix ``AXES_ONLY_ADMIN_SITE`` functionality when
- no default admin site is defined in the URL configuration.
- [igor-shevchenko]
-
-
- 5.3.2 (2020-05-15)
- ------------------
-
- - Fix AppConf settings prefix for Fargate.
- [marksweb]
-
-
- 5.3.1 (2020-03-23)
- ------------------
-
- - Fix null byte ValueError bug in ORM.
- [ddimmich]
-
-
- 5.3.0 (2020-03-10)
- ------------------
-
- - Improve Django REST Framework compatibility.
- [I0x4dI]
-
-
- 5.2.2 (2020-01-08)
- ------------------
-
- - Add missing proxy implementation for
- ``axes.handlers.proxy.AxesProxyHandler.get_failures``.
- [aleksihakli]
-
-
- 5.2.1 (2020-01-08)
- ------------------
-
- - Add django-reversion compatibility notes.
- [mark-mishyn]
- - Add pluggable lockout responses and the
- ``AXES_LOCKOUT_CALLABLE`` configuration flag.
- [aleksihakli]
-
-
- 5.2.0 (2020-01-01)
- ------------------
-
- - Add a test handler.
- [aidanlister]
-
-
- 5.1.0 (2019-12-29)
- ------------------
-
- - Add pluggable user account whitelisting and the
- ``AXES_WHITELIST_CALLABLE`` configuration flag.
- [aleksihakli]
-
-
- 5.0.20 (2019-12-01)
- -------------------
-
- - Fix django-allauth compatibility issue.
- [hramezani]
- - Improve tests for login attempt monitoring.
- [hramezani]
- - Add reverse proxy documentation.
- [ckcollab]
- - Update OAuth documentation examples.
- [aleksihakli]
-
-
- 5.0.19 (2019-11-06)
- -------------------
-
- - Optimize access attempt fetching in database handler.
- [hramezani]
- - Optimize request data fetching in proxy handler.
- [hramezani]
-
-
- 5.0.18 (2019-10-17)
- -------------------
-
- - Add ``cooloff_timedelta`` context variable to lockout responses.
- [jstockwin]
-
-
- 5.0.17 (2019-10-15)
- -------------------
-
- - Safer string formatting for user input.
- [aleksihakli]
-
-
- 5.0.16 (2019-10-15)
- -------------------
-
- - Fix string formatting bug in logging.
- [zerolab]
-
-
- 5.0.15 (2019-10-09)
- -------------------
-
- - Add ``AXES_ENABLE_ADMIN`` flag.
- [flannelhead]
-
-
- 5.0.14 (2019-09-28)
- -------------------
-
- - Docs, CI pipeline, and code formatting improvements
- [aleksihakli]
-
-
- 5.0.13 (2019-08-30)
- -------------------
-
- - Python 3.8 and PyPy support.
- [aleksihakli]
- - Migrate to ``setuptools_scm`` and automatic versioning.
- [aleksihakli]
-
-
- 5.0.12 (2019-08-05)
- -------------------
-
- - Support callables for ``AXES_COOLOFF_TIME`` setting.
- [DariaPlotnikova]
-
-
- 5.0.11 (2019-07-25)
- -------------------
-
- - Fix typo in rST formatting that prevented 5.0.10 release to PyPI.
- [aleksihakli]
-
-
- 5.0.10 (2019-07-25)
- -------------------
-
- - Refactor type checks for ``axes.helpers.get_client_cache_key``
- for framework compatibility, fixes #471.
- [aleksihakli]
-
-
- 5.0.9 (2019-07-11)
- ------------------
-
- - Add better handling for attempt and log resets by moving them
- into handlers which allows customization and more configurability.
- Unimplemented handlers raise ``NotImplementedError`` by default.
- [aleksihakli]
- - Add Python 3.8 dev version and PyPy to the Travis test matrix.
- [aleksihakli]
-
-
- 5.0.8 (2019-07-09)
- ------------------
-
- - Add ``AXES_ONLY_ADMIN_SITE`` flag for only running Axes on admin site.
- [hramezani]
- - Add ``axes_reset_logs`` command for removing old AccessLog records.
- [tlebrize]
- - Allow ``AxesBackend`` subclasses to pass the ``axes.W003`` system check.
- [adamchainz]
-
-
- 5.0.7 (2019-06-14)
- ------------------
-
- - Fix lockout message showing when lockout is disabled
- with the ``AXES_LOCK_OUT_AT_FAILURE`` setting.
- [mogzol]
-
- - Add support for callable ``AXES_FAILURE_LIMIT`` setting.
- [bbayles]
-
-
- 5.0.6 (2019-05-25)
- ------------------
-
- - Deprecate ``AXES_DISABLE_SUCCESS_ACCESS_LOG`` flag in favour of
- ``AXES_DISABLE_ACCESS_LOG`` which has mostly the same functionality.
- Update documentation to better reflect the behaviour of the flag.
- [aleksihakli]
-
-
- 5.0.5 (2019-05-19)
- ------------------
-
- - Change the lockout response calculation to request flagging
- instead of exception throwing in the signal handler and middleware.
- Move request attribute calculation from middleware to handler layer.
- Deprecate ``axes.request.AxesHttpRequest`` object type definition.
- [aleksihakli]
-
- - Deprecate the old version 4.x ``axes.backends.AxesModelBackend`` class.
- [aleksihakli]
-
- - Improve documentation on attempt tracking, resets, Axes customization,
- project and component compatibility and integrations, and other things.
- [aleksihakli]
-
-
- 5.0.4 (2019-05-09)
- ------------------
-
- - Fix regression with OAuth2 authentication backends not having remote
- IP addresses set and throwing an exception in cache key calculation.
- [aleksihakli]
-
-
- 5.0.3 (2019-05-08)
- ------------------
-
- - Fix ``django.contrib.auth`` module ``login`` and ``logout`` functionality
- so that they work with the handlers without the an ``AxesHttpRequest``
- to improve cross compatibility with other Django applications.
- [aleksihakli]
-
- - Change IP address resolution to allow empty or missing addresses.
- [aleksihakli]
-
- - Add error logging for missing request attributes in the handler layer
- so that users get better indicators of misconfigured applications.
- [aleksihakli]
-
-
- 5.0.2 (2019-05-07)
- ------------------
-
- - Add ``AXES_ENABLED`` setting for disabling Axes with e.g. tests
- that use Django test client ``login``, ``logout``, and ``force_login``
- methods, which do not supply the ``request`` argument to views,
- preventing Axes from functioning correctly in certain test setups.
- [aleksihakli]
-
-
- 5.0.1 (2019-05-03)
- ------------------
-
- - Add changelog to documentation.
- [aleksihakli]
-
-
- 5.0 (2019-05-01)
- ----------------
-
- - Deprecate Python 2.7, 3.4 and 3.5 support.
- [aleksihakli]
-
- - Remove automatic decoration and monkey-patching of Django views and forms.
- Decorators are available for login function and method decoration as before.
- [aleksihakli]
-
- - Use backend, middleware, and signal handlers for tracking
- login attempts and implementing user lockouts.
- [aleksihakli, jorlugaqui, joshua-s]
-
- - Add ``AxesDatabaseHandler``, ``AxesCacheHandler``, and ``AxesDummyHandler``
- handler backends for processing user login and logout events and failures.
- Handlers are configurable with the ``AXES_HANDLER`` setting.
- [aleksihakli, jorlugaqui, joshua-s]
-
- - Improve management commands and separate commands for resetting
- all access attempts, attempts by IP, and attempts by username.
- New command names are ``axes_reset``, ``axes_reset_ip`` and ``axes_reset_username``.
- [aleksihakli]
-
- - Add support for string import for ``AXES_USERNAME_CALLABLE``
- that supports dotted paths in addition to the old
- callable type such as a function or a class method.
- [aleksihakli]
-
- - Deprecate one argument call signature for ``AXES_USERNAME_CALLABLE``.
- From now on, the callable needs to accept two arguments,
- the HttpRequest and credentials that are supplied to the
- Django ``authenticate`` method in authentication backends.
- [aleksihakli]
-
- - Move ``axes.attempts.is_already_locked`` function to ``axes.handlers.AxesProxyHandler.is_locked``.
- Various other previously undocumented methods have been deprecated and moved inside the project.
- The new documented public APIs can be considered as stable and can be safely utilized by other projects.
- [aleksihakli]
-
- - Improve documentation layouting and contents. Add public API reference section.
- [aleksihakli]
-
-
- 4.5.4 (2019-01-15)
- ------------------
-
- - Improve README and documentation
- [aleksihakli]
-
-
- 4.5.3 (2019-01-14)
- ------------------
-
- - Remove the unused ``AccessAttempt.trusted`` flag from models
- [aleksihakli]
-
- - Improve README and Travis CI setups
- [aleksihakli]
-
-
- 4.5.2 (2019-01-12)
- ------------------
-
- - Added Turkish translations
- [obayhan]
-
-
- 4.5.1 (2019-01-11)
- ------------------
-
- - Removed duplicated check that was causing issues when using APIs.
- [camilonova]
-
- - Added Russian translations
- [lubicz-sielski]
-
-
- 4.5.0 (2018-12-25)
- ------------------
-
- - Improve support for custom authentication credentials using the
- ``AXES_USERNAME_FORM_FIELD`` and ``AXES_USERNAME_CALLABLE`` settings.
- [mastacheata]
-
- - Updated behaviour for fetching username from request or credentials:
- If no ``AXES_USERNAME_CALLABLE`` is configured, the optional
- ``credentials`` that are supplied to the axes utility methods
- are now the default source for client username and the HTTP
- request POST is the fallback for fetching the user information.
- ``AXES_USERNAME_CALLABLE`` implements an alternative signature with two
- arguments ``request, credentials`` in addition to the old ``request``
- call argument signature in a backwards compatible fashion.
- [aleksihakli]
-
- - Add official support for the Django 2.1 version and Python 3.7.
- [aleksihakli]
-
- - Improve the requirements, documentation, tests, and CI setup.
- [aleksihakli]
-
-
- 4.4.3 (2018-12-08)
- ------------------
-
- - Fix MANIFEST.in missing German translations
- [aleksihakli]
-
- - Add `AXES_RESET_ON_SUCCESS` configuration flag
- [arjenzijlstra]
-
-
- 4.4.2 (2018-10-30)
- ------------------
-
- - fix missing migration and add check to prevent it happening again.
- [markddavidoff]
-
-
- 4.4.1 (2018-10-24)
- ------------------
-
- - Add a German translation
- [adonig]
-
- - Documentation wording changes
- [markddavidoff]
-
- - Use `get_client_username` in `log_user_login_failed` instead of credentials
- [markddavidoff]
-
- - pin prospector to 0.12.11, and pin astroid to 1.6.5
- [hsiaoyi0504]
-
-
- 4.4.0 (2018-05-26)
- ------------------
-
- - Added AXES_USERNAME_CALLABLE
- [jaadus]
-
-
- 4.3.1 (2018-04-21)
- ------------------
-
- - Change custom authentication backend failures from error to warning log level
- [aleksihakli]
-
- - Set up strict code linting for CI pipeline that fails builds if linting does not pass
- [aleksihakli]
-
- - Clean up old code base and tests based on linter errors
- [aleksihakli]
-
-
- 4.3.0 (2018-04-21)
- ------------------
-
- - Refactor and clean up code layout
- [aleksihakli]
-
- - Add prospector linting and code checks to toolchain
- [aleksihakli]
-
- - Clean up log message formatting and refactor type checks
- [EvaSDK]
-
- - Fix faulty user locking with user agent when AXES_ONLY_USER_FAILURES is set
- [EvaSDK]
-
-
- 4.2.1 (2018-04-18)
- ------------------
-
- - Fix unicode string interpolation on Python 2.7
- [aleksihakli]
-
-
- 4.2.0 (2018-04-13)
- ------------------
-
- - Add configuration flags for client IP resolving
- [aleksihakli]
-
- - Add AxesModelBackend authentication backend
- [markdaviddoff]
-
-
- 4.1.0 (2018-02-18)
- ------------------
-
- - Add AXES_CACHE setting for configuring `axes` specific caching.
- [JWvDronkelaar]
-
- - Add checks and tests for faulty LocMemCache usage in application setup.
- [aleksihakli]
-
-
- 4.0.2 (2018-01-19)
- ------------------
-
- - Improve Windows compatibility on Python < 3.4 by utilizing win_inet_pton
- [hsiaoyi0504]
-
- - Add documentation on django-allauth integration
- [grucha]
-
- - Add documentation on known AccessAttempt caching configuration problems
- when using axes with the `django.core.cache.backends.locmem.LocMemCache`
- [aleksihakli]
-
- - Refactor and improve existing AccessAttempt cache reset utility
- [aleksihakli]
-
-
- 4.0.1 (2017-12-19)
- ------------------
-
- - Fixes issue when not using `AXES_USERNAME_FORM_FIELD`
- [camilonova]
-
-
- 4.0.0 (2017-12-18)
- ------------------
-
- - *BREAKING CHANGES*. `AXES_BEHIND_REVERSE_PROXY` `AXES_REVERSE_PROXY_HEADER`
- `AXES_NUM_PROXIES` were removed in order to use `django-ipware` to get
- the user ip address
- [camilonova]
-
- - Added support for custom username field
- [kakulukia]
-
- - Customizing Axes doc updated
- [pckapps]
-
- - Remove filtering by username
- [camilonova]
-
- - Fixed logging failed attempts to authenticate using a custom authentication
- backend.
- [D3X]
-
-
- 3.0.3 (2017-11-23)
- ------------------
-
- - Test against Python 2.7.
- [mbaechtold]
-
- - Test against Python 3.4.
- [pope1ni]
-
-
- 3.0.2 (2017-11-21)
- ------------------
-
- - Added form_invalid decorator. Fixes #265
- [camilonova]
-
-
- 3.0.1 (2017-11-17)
- ------------------
-
- - Fix DeprecationWarning for logger warning
- [richardowen]
-
- - Fixes global lockout possibility
- [joeribekker]
-
- - Changed the way output is handled in the management commands
- [ataylor32]
-
-
- 3.0.0 (2017-11-17)
- ------------------
-
- - BREAKING CHANGES. Support for Django >= 1.11 and signals, see issue #215.
- Drop support for Python < 3.6
- [camilonova]
-
-
- 2.3.3 (2017-07-20)
- ------------------
-
- - Many tweaks and handles successful AJAX logins.
- [Jack Sullivan]
-
- - Add tests for proxy number parametrization
- [aleksihakli]
-
- - Add AXES_NUM_PROXIES setting
- [aleksihakli]
-
- - Log failed access attempts regardless of settings
- [jimr]
-
- - Updated configuration docs to include AXES_IP_WHITELIST
- [Minkey27]
-
- - Add test for get_cache_key function
- [jorlugaqui]
-
- - Delete cache key in reset command line
- [jorlugaqui]
-
- - Add signals for setting/deleting cache keys
- [jorlugaqui]
-
-
- 2.3.2 (2016-11-24)
- ------------------
-
- - Only look for lockable users on a POST
- [schinckel]
-
- - Fix and add tests for IPv4 and IPv6 parsing
- [aleksihakli]
-
-
- 2.3.1 (2016-11-12)
- ------------------
-
- - Added settings for disabling success accesslogs
- [Minkey27]
-
- - Fixed illegal IP address string passed to inet_pton
- [samkuehn]
-
-
- 2.3.0 (2016-11-04)
- ------------------
-
- - Fixed ``axes_reset`` management command to skip "ip" prefix to command
- arguments.
- [EvaMarques]
-
- - Added ``axes_reset_user`` management command to reset lockouts and failed
- login records for given users.
- [vladimirnani]
-
- - Fixed Travis-PyPI release configuration.
- [jezdez]
-
- - Make IP position argument optional.
- [aredalen]
-
- - Added possibility to disable access log
- [svenhertle]
-
- - Fix for IIS used as reverse proxy adding port number
- [Dmitri-Sintsov]
-
- - Made the signal race condition safe.
- [Minkey27]
-
- - Added AXES_ONLY_USER_FAILURES to support only looking at the user ID.
- [lip77us]
-
-
- 2.2.0 (2016-07-20)
- ------------------
-
- - Improve the logic when using a reverse proxy to avoid possible attacks.
- [camilonova]
-
-
- 2.1.0 (2016-07-14)
- ------------------
-
- - Add `default_app_config` so you can just use `axes` in `INSTALLED_APPS`
- [vdboor]
-
-
- 2.0.0 (2016-06-24)
- ------------------
-
- - Removed middleware to use app_config
- [camilonova]
-
- - Lots of cleaning
- [camilonova]
-
- - Improved test suite and versions
- [camilonova]
-
-
- 1.7.0 (2016-06-10)
- ------------------
-
- - Use render shortcut for rendering LOCKOUT_TEMPLATE
- [Radoslaw Luter]
-
- - Added app_label for RemovedInDjango19Warning
- [yograterol]
-
- - Add iso8601 translator.
- [mullakhmetov]
-
- - Edit json response. Context now contains ISO 8601 formatted cooloff time
- [mullakhmetov]
-
- - Add json response and iso8601 tests.
- [mullakhmetov]
-
- - Fixes issue 162: UnicodeDecodeError on pip install
- [joeribekker]
-
- - Added AXES_NEVER_LOCKOUT_WHITELIST option to prevent certain IPs from being locked out.
- [joeribekker]
-
-
- 1.6.1 (2016-05-13)
- ------------------
-
- - Fixes whitelist check when BEHIND_REVERSE_PROXY
- [Patrick Hagemeister]
-
- - Made migrations py3 compatible
- [mvdwaeter]
-
- - Fixing #126, possibly breaking compatibility with Django<=1.7
- [int-ua]
-
- - Add note for upgrading users about new migration files
- [kelseyq]
-
- - Fixes #148
- [camilonova]
-
- - Decorate auth_views.login only once
- [teeberg]
-
- - Set IP public/private classifier to be compliant with RFC 1918.
- [SilasX]
-
- - Issue #155. Lockout response status code changed to 403.
- [Arthur Mullahmetov]
-
- - BUGFIX: Missing migration
- [smeinel]
-
-
- 1.6.0 (2016-01-07)
- ------------------
-
- - Stopped using render_to_response so that other template engines work
- [tarkatronic]
-
- - Improved performance & DoS prevention on query2str
- [tarkatronic]
-
- - Immediately return from is_already_locked if the user is not lockable
- [jdunck]
-
- - Iterate over ip addresses only once
- [annp89]
-
- - added initial migration files to support django 1.7 &up. Upgrading users should run migrate --fake-initial after update
- [ibaguio]
-
- - Add db indexes to CommonAccess model
- [Schweigi]
-
-
- 1.5.0 (2015-09-11)
- ------------------
-
- - Fix #_get_user_attempts to include username when filtering AccessAttempts if AXES_LOCK_OUT_BY_COMBINATION_USER_AND_IP is True
- [afioca]
-
-
- 1.4.0 (2015-08-09)
- ------------------
-
- - Send the user_locked_out signal. Fixes #94.
- [toabi]
-
-
- 1.3.9 (2015-02-11)
- ------------------
-
- - Python 3 fix (#104)
-
-
- 1.3.8 (2014-10-07)
- ------------------
-
- - Rename GitHub organization from django-security to django-pci to emphasize focus on providing assistance with building PCI compliant websites with Django.
- [aclark4life]
-
-
- 1.3.7 (2014-10-05)
- ------------------
-
- - Explain common issues where Axes fails silently
- [cericoda]
-
- - Allow for user-defined username field for lookup in POST data
- [SteveByerly]
-
- - Log out only if user was logged in
- [zoten]
-
- - Support for floats in cooloff time (i.e: 0.1 == 6 minutes)
- [marianov]
-
- - Limit amount of POST data logged (#73). Limiting the length of value is not enough, as there could be arbitrary number of them, or very long key names.
- [peterkuma]
-
- - Improve get_ip to try for real ip address
- [7wonders]
-
- - Change IPAddressField to GenericIPAddressField. When using a PostgreSQL database and the client does not pass an IP address you get an inet error. This is a known problem with PostgreSQL and the IPAddressField. https://code.djangoproject.com/ticket/5622. It can be fixed by using a GenericIPAddressField instead.
- [polvoblanco]
-
- - Get first X-Forwarded-For IP
- [tutumcloud]
-
- - White listing IP addresses behind reverse proxy. Allowing some IP addresses to have direct access to the app even if they are behind a reverse proxy. Those IP addresses must still be on a white list.
- [ericbulloch]
-
- - Reduce logging of reverse proxy IP lookup and use configured logger. Fixes #76. Instead of logging the notice that django.axes looks for a HTTP header set by a reverse proxy on each attempt, just log it one-time on first module import. Also use the configured logger (by default axes.watch_login) for the message to be more consistent in logging.
- [eht16]
-
- - Limit the length of the values logged into the database. Refs #73
- [camilonova]
-
- - Refactored tests to be more stable and faster
- [camilonova]
-
- - Clean client references
- [camilonova]
-
- - Fixed admin login url
- [camilonova]
-
- - Added django 1.7 for testing
- [camilonova]
-
- - Travis file cleanup
- [camilonova]
-
- - Remove hardcoded url path
- [camilonova]
-
- - Fixing tests for django 1.7
- [Andrew-Crosio]
-
- - Fix for django 1.7 exception not existing
- [Andrew-Crosio]
-
- - Removed python 2.6 from testing
- [camilonova]
-
- - Use django built-in six version
- [camilonova]
-
- - Added six as requirement
- [camilonova]
-
- - Added python 2.6 for travis testing
- [camilonova]
-
- - Replaced u string literal prefixes with six.u() calls
- [amrhassan]
-
- - Fixes object type issue, response is not an string
- [camilonova]
-
- - Python 3 compatibility fix for db_reset
- [nicois]
-
- - Added example project and helper scripts
- [barseghyanartur]
-
- - Admin command to list login attemps
- [marianov]
-
- - Replaced six imports with django.utils.six ones
- [amrhassan]
-
- - Replaced u string literal prefixes with six.u() calls to make it compatible with Python 3.2
- [amrhassan]
-
- - Replaced `assertIn`s and `assertNotIn`s with `assertContains` and `assertNotContains`
- [fcurella]
-
- - Added py3k to travis
- [fcurella]
-
- - Update test cases to be python3 compatible
- [nicois]
-
- - Python 3 compatibility fix for db_reset
- [nicois]
-
- - Removed trash from example urls
- [barseghyanartur]
-
- - Added django installer
- [barseghyanartur]
-
- - Added example project and helper scripts
- [barseghyanartur]
-
-
- 1.3.6 (2013-11-23)
- ------------------
-
- - Added AttributeError in case get_profile doesn't exist
- [camilonova]
-
- - Improved axes_reset command
- [camilonova]
-
-
- 1.3.5 (2013-11-01)
- ------------------
-
- - Fix an issue with __version__ loading the wrong version
- [graingert]
-
-
- 1.3.4 (2013-11-01)
- ------------------
-
- - Update README.rst for PyPI
- [marty, camilonova, graingert]
-
- - Add cooloff period
- [visualspace]
-
-
- 1.3.3 (2013-07-05)
- ------------------
-
- - Added 'username' field to the Admin table
- [bkvirendra]
-
- - Removed fallback logging creation since logging cames by default on django 1.4 or later,
- if you don't have it is because you explicitly wanted. Fixes #45
- [camilonova]
-
-
- 1.3.2 (2013-03-28)
- ------------------
-
- - Fix an issue when a user logout
- [camilonova]
-
- - Match pypi version
- [camilonova]
-
- - Better User model import method
- [camilonova]
-
- - Use only one place to get the version number
- [camilonova]
-
- - Fixed an issue when a user on django 1.4 logout
- [camilonova]
-
- - Handle exception if there is not user profile model set
- [camilonova]
-
- - Made some cleanup and remove a pokemon exception handling
- [camilonova]
-
- - Improved tests so it really looks for the rabbit in the hole
- [camilonova]
-
- - Match pypi version
- [camilonova]
-
-
- 1.3.1 (2013-03-19)
- ------------------
-
- - Add support for Django 1.5
- [camilonova]
-
-
- 1.3.0 (2013-02-27)
- ------------------
-
- - Bug fix: get_version() format string
- [csghormley]
-
-
- 1.2.9 (2013-02-20)
- ------------------
-
- - Add to and improve test cases
- [camilonova]
-
-
- 1.2.8 (2013-01-23)
- ------------------
-
- - Increased http accept header length
- [jslatts]
-
-
- 1.2.7 (2013-01-17)
- ------------------
-
- - Reverse proxy support
- [rmagee]
-
- - Clean up README
- [martey]
-
-
- 1.2.6 (2012-12-04)
- ------------------
-
- - Remove unused import
- [aclark4life]
-
-
- 1.2.5 (2012-11-28)
- ------------------
-
- - Fix setup.py
- [aclark4life]
-
- - Added ability to flag user accounts as unlockable.
- [kencochrane]
-
- - Added ipaddress as a param to the user_locked_out signal.
- [kencochrane]
-
- - Added a signal receiver for user_logged_out.
- [kencochrane]
-
- - Added a signal for when a user gets locked out.
- [kencochrane]
-
- - Added AccessLog model to log all access attempts.
- [kencochrane]
-
- Keywords: authentication django pci security
- Platform: UNKNOWN
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Environment :: Web Environment
- Classifier: Environment :: Plugins
- Classifier: Framework :: Django
- Classifier: Framework :: Django :: 2.2
- Classifier: Framework :: Django :: 3.0
- Classifier: Framework :: Django :: 3.1
- Classifier: Intended Audience :: Developers
- Classifier: Intended Audience :: System Administrators
- Classifier: License :: OSI Approved :: MIT License
- Classifier: Operating System :: OS Independent
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: 3.8
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: Implementation :: CPython
- Classifier: Programming Language :: Python :: Implementation :: PyPy
- Classifier: Topic :: Internet :: Log Analysis
- Classifier: Topic :: Security
- Classifier: Topic :: System :: Logging
- Requires-Python: ~=3.6
|