Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Page MenuHomePhabricator

In Special:Block, hide IP addresses associated with a temporary account, if there are too many
Closed, ResolvedPublic3 Estimated Story Points

Description

Background

Following T324602, Special:Block will display IP addresses used by a temporary account, if a temporary account is selected in the target field.

Acceptance criteria
  • If there are more than 3 IP addresses, all but the first two are hidden
  • The rest can be exposed by clicking on some text, as shown here:

image.png (577×867 px, 95 KB)

Related Objects

Event Timeline

Tchanders set the point value for this task to 3.Dec 8 2022, 12:12 AM

Change 901115 had a related patch set uploaded (by TsepoThoabala; author: TsepoThoabala):

[mediawiki/extensions/CheckUser@master] In Special:Block, hide IP addresses associated with a temporary account, if there are too many

https://gerrit.wikimedia.org/r/901115

Change 901115 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] In Special:Block, hide IP addresses associated with a temporary account, if there are too many

https://gerrit.wikimedia.org/r/901115

@TThoabala Looking good so far as seen in the screenshots. I'm just going to test a few more things and if I don't come across anything, I'll move this to Done. Thanks!

Unclick w/5 Ips

T324719_IPMasking_SpecialBlock_3orMoreIPs.png (334×1 px, 91 KB)

Click w/5 IPs
T324719_IPMasking_SpecialBlock_3orMoreIPs_Click.png (460×2 px, 147 KB)

@TThoabala just some observations, not sure if any of them are important.

I notice each time I select a temporary user or click "see n more" a new .ext-checkuser-tempaccount-specialblock-ips div is created. Is this intentional? I haven't noticed any bad side-effects so far.

specialblock_associated_ips_initial.png (825×1 px, 119 KB)

specialblock_associated_ips_second.png (833×1 px, 129 KB)

If you enter the username in the url (i.e. Special:Block/<username>), we don't seem to validate the username before sending the request to the temporaryaccount endpoint. For example, if you go to something like http://localhost:8080/wiki/Special:Block/*Unregistered_70%3Flimit=3 it will make the request: /w/rest.php/checkuser/v0/temporaryaccount/*Unregistered%2070?limit=3. I don't know if this is a problem. I haven't found any way to exploit this yet.

There are some circumstances where I can make two lists of associated IPs appear. If I throttle my connection and enter two users one after another quickly enough.

Steps to reproduce (on Firefox, Chrome should be very similar):

  1. Have two temp users, *Unregistered 1 and *Unregistered 11
  2. Go to Special:Block
  3. Open browser's devtools and go to network tab
  4. Click the dropdown called "no throttling" and select "GPRS"
  5. In the username field type *Unregistered 1, wait for a dropdown to appear and press enter
  6. Type 1 (so the input field is now *Unregistered 11) and press enter

specialblock_associated_ips_two_lists.png (340×1 px, 61 KB)

I notice each time I select a temporary user or click "see n more" a new .ext-checkuser-tempaccount-specialblock-ips div is created. Is this intentional? I haven't noticed any bad side-effects so far.

@dom_walden it looks like we are going to remove this functionality on this ticket T335253 .

I think we should create separate tickets for username validation and one for the multiple IP look ups in quick successions as they are not directly related to this patch( I think...).

I notice each time I select a temporary user or click "see n more" a new .ext-checkuser-tempaccount-specialblock-ips div is created. Is this intentional? I haven't noticed any bad side-effects so far.

@dom_walden it looks like we are going to remove this functionality on this ticket T335253 .

I think we should create separate tickets for username validation and one for the multiple IP look ups in quick successions as they are not directly related to this patch( I think...).

Thanks. I raised T335392 and T335393.

As this task has been superseded, I will move it into done.