Go to file
Roan Kattouw fb3db4779b Notifications: Set canNotifyAgent per event type, rather than per event
Depends-On: I4f558654ec23757dd4ecd6986eb3e9a5593f5386
Change-Id: I40cb66596a7285ae9b961f9d85dd940d759b0abd
2018-10-26 17:37:33 -07:00
i18n Localisation updates from https://translatewiki.net. 2018-10-19 22:19:52 +02:00
includes Notifications: Set canNotifyAgent per event type, rather than per event 2018-10-26 17:37:33 -07:00
maintenance Remove unneeded @codingStandardsIgnore 2018-03-29 16:09:33 +00:00
tests build: Updating mediawiki/mediawiki-phan-config to 0.2.0 2018-04-05 17:14:46 -07:00
.gitignore Add Phan config/make it pass 2017-06-20 23:56:12 +00:00
.gitreview Whoops, track not trace 2016-10-24 17:02:52 -07:00
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 17.0.0 2018-03-29 03:37:14 +00:00
CODE_OF_CONDUCT.md build: Updating mediawiki/phan-taint-check-plugin to 1.3.0 2018-08-19 14:12:15 +00:00
composer.json build: Updating mediawiki/phan-taint-check-plugin to 1.5.0 2018-09-08 03:37:56 +00:00
COPYING Initial version of extension to notify people on failed login attempts. 2016-03-28 04:29:04 -04:00
extension.json Update to manifest_verson 2 in extension.json 2018-07-27 01:31:21 +01:00
Gruntfile.js Add grunt-jsonlint and grunt-banana-checker 2017-01-09 16:37:01 +01:00
package.json build: Updating npm dependencies for security issues 2018-10-11 08:29:29 +00:00
README.md Fix some typos 2017-05-13 13:17:41 +02:00
UserAvatar.svg Simplify messages in login notification, still having two 2017-03-23 09:47:16 -07:00

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 IP/devices). It can also give echo/email notices 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.
  • Download and place the file(s) in a directory called LoginNotify in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php: wfLoadExtension( 'LoginNotify' );
  • Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration parameters

"@doc": "The number of failed login attempts to permit from a known IP before a notification is triggered.",
"LoginNotifyAttemptsKnownIP": 10
"@doc": "The time-to-live of the count of failed login attempts from a known IP (from the time of the first failed attempt).",
"LoginNotifyExpiryKnownIP": 604800,
"@doc": "The number of failed login attempts to permit from a new IP before a notification is triggered.",
"LoginNotifyAttemptsNewIP": 3,
"@doc": "The time-to-live of the count of failed login attempts from a new IP (from the time of the first failed attempt).",
"LoginNotifyExpiryNewIP": 1209600,
"@doc": "Whether to trigger a notification after failed logins from known IPs.",
"LoginNotifyCheckKnownIPs": true,
"@doc": "Whether to trigger a notification after successful logins from unknown IPs.",
"LoginNotifyEnableOnSuccess": true,
"@doc": "Set different default notification preferences for different user groups. For user groups that have any of the user rights listed in this array, the preferences specified in Hooks:getOverriddenOptions() are on by default.",
"LoginNotifyEnableForPriv": [ "editinterface", "userrights" ],
"@doc": "Override this to use a different secret than $wgSecretKey",
"LoginNotifySecretKey": null,
"@doc": "Expiry in seconds. Default is 180 days",
"LoginNotifyCookieExpire": 15552000,
"@doc": "Override to allow sharing login cookies between sites on different subdomains",
"LoginNotifyCookieDomain": null,
"@doc": "Maximum number of users (records) to track as having successfully logged in on a particular device.",
"LoginNotifyMaxCookieRecords": 6,
"@doc": "Set to false to disable caching IPs in memcache. Set to 0 to cache forever. Default 60 days.",
"LoginNotifyCacheLoginIPExpiry": 5184000