Wikipédia:Filtro de edições/180

Origem: Wikipédia, a enciclopédia livre.

Edição por não registado em página não permitida
Status
Desautorizando
Manutenção
Resumo
Ferramentas
Falsos positivos
Total 0
Lista Lista filtrada (com gadget)
(PS: futuramente, poderíamos ver os 5 mais recentes aqui mesmo)
Tarefas


Discussões sobre a criação do filtro[editar código-fonte]

Ver

Helder 10h04min de 21 de janeiro de 2021 (UTC)[responder]

Relato de falsos positivos[editar código-fonte]

Ver relato em Usuário Discussão:DarwIn#Filtro 180. Helder 10h04min de 21 de janeiro de 2021 (UTC)[responder]

Em outubro de 2020 o DarwIn tornou o filtro como privado, mas olhando o código atual, não identifiquei nada que um usuário mal intencionado poderia encontrar no código para poder burlá-lo constantemente (e que não teria como ser descobrir sem inspecionar o código). Podemos torná-lo público, como de costume, certo? Helder 10h08min de 21 de janeiro de 2021 (UTC)[responder]

@He7d3r e DarwIn: Depois da queixa de que isso pode ser utilizado para identificar IPs de editores deslogados (quem tentam fazer uma edição, caem no filtro, fazem login e publicam a mesma edição em seguida), não creio que seja muito pertinente torná-lo público. Em relação ao código em si, podemos discutir livremente por aqui, mas prefiro manter os resultados restritos. ━ ALBERTOLEONCIO Who, me? 11h37min de 21 de janeiro de 2021 (UTC)[responder]
@He7d3r e Albertoleoncio: Aquilo foi toda uma hype bastante despropositada em torno de uma "violação de privacidade" que, afinal, já acontecia aqui escancarada a toda a hora (e em parte ainda acontece, só nos 2 últimos dias vi 2 editores editando deslogados por acidente, e revelando o IP, e isso n foi em filtro nenhum...), e cuja única forma de travar é precisamente aquilo que os devs se recusam a fazer, bloquear os IPs via mediawiki... *suspiro*. Enfim. Como o Alberto diz, como houve toda essa hype em torno da suposta "violação de privacidade", talvez seja melhor deixar isso assim, e discutir o filtro num sítio mais privado.-- Darwin Ahoy! 14h59min de 21 de janeiro de 2021 (UTC)[responder]
@Albertoleoncio e DarwIn:: O problema parece ser apenas com os logs que o filtro produz, e não com o código dele propriamente dito. Se for assim, acredito que não haveria problema em copiá-lo para cá por exemplo, para ser possível uma discussão pública do código. Helder 15h59min de 21 de janeiro de 2021 (UTC)[responder]
@He7d3r e Albertoleoncio: É só com o log, mesmo. O código é muito básico, e pode ser copiado sem problema algum.-- Darwin Ahoy! 17h11min de 21 de janeiro de 2021 (UTC)[responder]

Otimização[editar código-fonte]

@Albertoleoncio, DarwIn: O MusikAnimal (autor do MusikBot) me enviou por e-mail uma sugestão de como o código do filtro pode ser simplificado e otimizado. Se o código do filtro realmente não precisar ser privado (ver tópico anterior), podemos discutir isso publicamente por aqui, para maior transparência. Helder 10h23min de 21 de janeiro de 2021 (UTC)[responder]

Sorry for the English. I suggest the code itself be changed to simply:
user_age == 0 &
page_namespace % 2 == 0
This should be much more efficient than what you have now. The idea is that conditions that eliminate more edits should go first, reducing the average condition count. In this case I think checking if they're an IP should be the first condition, and using user_age == 0 is the most efficient way to do this (integer comparison, no database lookup). Finally, I'm assuming you want to allow IP edits to all talk pages (and disallow edits to all subject pages). If so, you can use the modulus operator instead of listing out each subject namespace individually. Hope this helps, MusikAnimal talk 21h42min de 21 de janeiro de 2021 (UTC)[responder]
@MusikAnimal: Hi, thanks for the help! I very liked the user_age to detect IPs, it seems very "outside the box". About the namespaces, we are currently disallowing all subject pages except 12 (Ajuda) and 2600 (Tópico), since some help pages had to remain open for IPs (1, 2, 3 and 4). So, the code actually is:
user_age == 0 &
equals_to_any(page_namespace, 0, 2, 4, 6, 10, 14, 100, 104, 710, 828)
Do you have any other suggestions for us to optimize it? ━ ALBERTOLEONCIO Who, me? 00h05min de 22 de janeiro de 2021 (UTC)[responder]
Ah, I was wondering if it was intentional. In that case, what you have I think is plenty efficient. Moving the IP check to be the first condition is the larger improvement, since most edits are presumably in the namespaces you have listed. Another slightly less efficient way of doing it is !("user" in user_groups), but using user_age is the "normal" way we do it on enwiki. Kind regards, MusikAnimal talk 01h56min de 22 de janeiro de 2021 (UTC)[responder]
Another option would be to list the exceptions to the rule exclicitly:
user_age == 0 & page_namespace % 2 == 0 & !equals_to_any(page_namespace, 12, 2600)
which, given that AbuseFilter does not detect Flow edits, seems to be equivalent to:
user_age == 0 & page_namespace % 2 == 0 & page_namespace != 12
Do you think it is worth it, MusikAnimal? Helder 09h39min de 22 de janeiro de 2021 (UTC)[responder]
I don't think it will make much of a difference performance-wise. I see now that the IP check has been moved to the first condition, the average condition count is at 1 (before it was over 2), and the average runtime is a lot lower too. So I think you're in good shape now :) Best, MusikAnimal talk 18h48min de 22 de janeiro de 2021 (UTC)[responder]
@MusikAnimal: ok, let's leave it like that then. BTW: Where can we check the average condition count nowadays? I remember it being removed some time ago... And it might be useful for investigating why another filter is not activating when it should. Helder 21h10min de 22 de janeiro de 2021 (UTC)[responder]
@He7d3r Indeed they were removed, but they were restored some time in 2019. They show up in the "Statistics" ("Estatísticas") line like they used to, but it looks like you've overridden the messaging at MediaWiki:Abusefilter-edit-status (I just didn't notice because my interface language is English). In this message $4 is the runtime and $5 is the condition count. To conserve space, on enwiki we've moved the link to the edit filter graphs to en:MediaWiki:Abusefilter-edit-subtitle. You may want to do the same. MusikAnimal talk 22h12min de 22 de janeiro de 2021 (UTC)[responder]