IP Masking will affect lots of our products, features, tools, gadgets, etc. This task is for tracking work to update those things ahead of IP Masking being enabled on WMF sites.
Since T300263: [IP Masking] Create temporary account on first edit it is possible to enable a config in MediaWiki so that anonymous edits are no longer assigned to IP addresses, and are instead assigned to temporary accounts. (This has not yet been enabled in WMF production as of the time of writing.)
How do temporary accounts work?
Highlights:
- On editing without logging in, users will be warned that they will be given a temporary account
- The temporary account name will follow a pattern defined in config
- The temporary account user will not be able to set preferences
- The same temporary account user may edit from more than one IP address
- The temporary account persists for as long as the session (which is persisted via a cookie, the same as for registered user accounts)
Technical highlights (see also T300263 and related patches):
- Temporary users are stored in the same way as regular users; they are recognised as temporary by checking their name
- User::isAnon and mw.user.isAnon return false for a temporary account; a user's temporary status can be checked using User::isTemp
- IP addresses are still stored in the CheckUser extension, but no longer via the username in core
What will be affected
IP Masking is likely to affect anything that:
- Does something different for registered vs anonymous accounts
- Identifies an anonymous user by checking the user name or ID
- Does anything with a user's IP address, having got it from the username
IP Masking could affect anything that makes use of user accounts or usernames, in ways not anticipated above.
See T326759: Investigate: Which WMF deployed code might be affected by IP Masking? for a list of searches performed to find features that might be affected.
Where to test
- Temporary accounts are enabled on https://de.wikipedia.beta.wmflabs.org
- In LocalSettings.php, you can set $wgAutoCreateTempUser['enabled'] = true
- On Patch Demo, you can check the "Enable temporary user account creation" checkbox