Extension:LoginNotify

The LoginNotify extension notifies you when someone logs into your account.

It can be configured to give warnings after a certain number of failed login attempts (The number is configurable, and can be different between unknown IPs/devices and known IPs/devices).

It can also give Echo notices (which can also be emailed) for successful logins from IPs you don't normally use.

It can optionally integrate into the CheckUser extension in order to determine if the login is from an IP address you don't normally use.

It can also set a cookie to try and determine if the login is from a device you normally use.

Installation
This extension requires the Echo extension to be installed.

This extension can optionally integrate with the CheckUser extension if it is installed, but does not require it.

Usage
Once LoginNotify is installed, whenever a user logs into the wiki, their IP subnet is cached on the server and a cookie named  is stored in their browser. These tokens are used to see if subsequent logins are coming from a known IP/device.

If CentralAuth is installed, it will check the IP not only for the current wiki, but also the ten wikis where the user is most active.

Configuration parameters
Parameters that can be set (in LocalSettings.php):


 * The number of failed login attempts to permit from a known IP before a notification is triggered.
 * Default: 10.
 * Default: 10.


 * The number of failed login attempts to permit from a new IP before a notification is triggered.
 * Default: 3
 * Default: 3


 * The time-to-live of the count of failed login attempts from a known IP (from the time of the first failed attempt).
 * Default: 7 days.
 * Default: 7 days.


 * The time-to-live of the count of failed login attempts from a new IP (from the time of the first failed attempt).
 * Default: 14 days.
 * Default: 14 days.


 * Whether to trigger a notification after failed logins from known IPs.
 * Default: true
 * Default: true


 * Whether to trigger a notification after successful logins from unknown IPs.
 * Default: true
 * Default: true


 * Only enable notifications for users with these man>Special:MyLanguage/Manual:User rights|rights. To enable for all users, set to.
 * Default:  (i.e. administrators and above, in a normal set-up).
 * Default:  (i.e. administrators and above, in a normal set-up).


 * Use this key instead of  to generate the HMACs for the cookie.
 * Use this key instead of  to generate the HMACs for the cookie.


 * Expiration of the cookie.
 * Default: 180 days.
 * Default: 180 days.


 * To allow sharing login cookies between sites on different subdomains, set this to the parent domain name.
 * Default:.
 * Default:.


 * Maximum number of users (records) to track as having successfully logged in on a particular device.
 * Default: 6.
 * Default: 6.


 * How long to cache IPs in memcache. Set to  to disable; set to   to cache forever.
 * Default: 60 days.
 * Default: 60 days.