Jump to content

Sáng kiến y tế cộng đồng / Công cụ chặn và cải tiến

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page Community health initiative/Blocking tools and improvements and the translation is 29% complete.
Outdated translations are marked like this.

This page documents a feature the Wikimedia Foundation's Anti-Harassment Tools team has committed to build.

🗣   We invite you to join the discussion!
🛠   Track in Phabricator at T120734.

Nhóm Công cụ chống quấy rối của Wikimedia Foundation mời tất cả các Wikitiian thảo luận về các công cụ chặn mới và cải tiến cho các công cụ chặn hiện tại vào tháng 12 năm 2017 để phát triển vào đầu năm 2018.


September 11, 2019

Partial blocks has been enabled on all wikivoyage, wikisource and wiktionary wikis. We think the partial blocks feature is at a good, stable stage now as we have seen fewer and fewer bugs come up in the last few months of the feature being deployed on various projects. The team has spent a lot of time in improving the backend infrastructure of block code and made sure that the code is reliable, in anticipation of any future features that may need to be added.

There continues to be requests from more wikis for partial blocks. We also presented about partial blocks at Wikimania and it was very well-received, with several attendees asking for partial blocks to be enabled on their home wikis. In light of the general positive reception to partial blocks on wikis where it is deployed, we are planning to do a wider deployment to more Wikimedia projects in the next few weeks.

We will continue to collect feedback about partial blocks as we launch the feature on more wikis, alongside data collection on usage of the feature. We are also around to do maintenance work on the features, as and when needed.

March 1, 2019

Today I officially share the Wikimedia Foundation's Anti-Harassment Tools team's recommendations for tools to combat long-term abuse that occurs on our wikis. This 9-page document roughly defines the types of long-term abuse that occurs, outlines the existing tools and tactics used to mitigate and tolerate this behavior, investigates potential new softwares to combat this abuse (namely device blocking) and makes recommendations for next steps.

In brief, our recommendations are to avoid device blocking, as it would be an expensive endeavour with very low likelihood for successful impact. Instead, our team recommends alternate tactics including a user reporting system, improvements to CheckUser, additional muting features, and more.

An immediate byproduct of this research is that our team will work on extending cookie block functionality to the Visual and mobile editors. — phab:T196575

February 15, 2019

Initial feature development on partial blocks is complete! Admins can now set blocks that only prohibit editing on certain page(s) and/or namespace(s). The rollout will be slow and staged to ensure we didn't forget any important functionality.

January 18, 2019

I've compiled some data about how often the "you are blocked" messages appear to our users on Community health initiative/Blocking tools and improvements/Block notices. There are some graphs and a table of raw data as well as some synthesized findings. Here are the main takeaways:

  • Block notices appear very often on the largest Wikimedia projects, sometimes outnumbering actual edits. (6.2 million blocked edits occured on English Wikipedia over a 30-day period.)
  • The desktop wikitext editor sees the vast majority of impressions by a wide margin. (98% on English Wikipedia, 89.5% on Spanish, and 98.7% on Russian.)
  • The VisualEditor and mobile block notices may occur less frequently, but still display to thousands of people every month. There are hurdles to optimizing their displays, given the legacy of desktop-first design.

January 16, 2019

Partial Blocks have been enabled on Italian Wikipedia! 🎉 We're looking for more Wikipedias to test, please leave us a talk page message if your community is willing to test! More information can be found at the project page.

Also of note is that our team is currently looking into potential software solutions to mitigate Long-Term Abuse on Wikimedia. We are exploring some ideas listed in § Problem 1. Username or IP address blocks are easy to evade by sophisticated users above. We are aiming for our preliminary investigation to be complete by the end of February and will publish all notes and findings here on Meta Wiki.

December 20

Partial blocks are still in development. They are enabled on Test Wikipedia and will be enabled on Italian Wikipedia in January.

Data on the "you are blocked" messages is visible on this graph for seven wikis (more to be added soon.) I'll be spending this afternoon digging into some correlated block data to see if there are any interesting insights. For now, the most insightful things are: 1) far-and-away most people learn they are blocked on desktop via the wikitext editor 2) except on German Wikipedia, which has an incredibly high count of API blocks and 3) rough back-of-napkin calculations show that mobile block notices appear relative to desktop site notices the same as general edit trends (~95% of edits are from desktop editors.) Depending on what I have by the end of today I may post an addendum here.

One final note about blocking to close our 2018: in the next year my team will begin looking into device blocking, which was outlined and discussed as Problem 1. Username or IP address blocks are easy to evade by sophisticated users. We aim to make a proposal to the Wikimedia Board of Trustees in early 2019.

December 5

Our team is still working on addressing the final defects before we enable Partial Blocks on Italian Wikipedia. We're optimistic that we can hit this milestone next week! In the meantime testing is available on Test Wikipedia and Test Wikidata for users interested in taking a look at what's ready so far. We're also confident that we can get Namespace blocks to a near-ready state by the end of December, before we break for the winter holidays. That functionality should be ready on Test Wiki in January.

Yesterday we enabled tracking on the block notice messages that appear to users — a.k.a. the "You are blocked" messages. The data is visible on this graph. This data is currently only being measured on Italian Wikipedia but we plan to enable it on 19 more wikis next week. We will be able to compare this to the other known block data to better understand how often blocked users attempt to edit. This should inform our decisions on if or how to improve these messages and unblock workflows for users.

November 8

Partial blocks are live on Test Wikipedia and Test Wikidata! If you're an admin on another wiki and would like to test the functionality please write a message on our talk page.

This first feature set is limited: admins can block an user or IP from editing up to 10 specified pages. There are some known defects that we're currently working on (for example, if an admin is partially blocked from a page they can't delete any page.) and we'll get back to building namespace and upload blocks in later November.

If you're testing partial blocks we'd love to hear from you! Drop us a note about your experience with the tool. We're looking specifically for feedback about:

  • What is an appropriate limit of the number of pages a user should be blocked from? In the first version limit is 10, but it can any number.
  • Are you satisfied with how partial blocks are logged?
  • Do we need to change anything that has already been built?
  • Is the warning message in the VisualEditor too gentle?

Thank you!

August 22, 2018

As part of our work on Partial Blocks (phab:T2674) we've have determined that we also need to build a system that allows for multiple simultaneous blocks to be set against a single account (user or IP) to allow communities to set different sanctions of different expiration dates. (For example, a user could have an indefinite block from uploading files but a 24-hour sitewide block.) We are referring to this work as multi-blocks and this work can be tracked in phab:T194697. Another round of designs are underway and will be shared next week on the project page.

For those interested in the technical side of blocks, we're holding a technical RFC about database changes we plan to make. A summary of our changes can be found at phab:T199917.

June 28, 2018

Over the past several months the Wikimedia Foundation's Anti-Harassment Tools team has been working on improvements to blocking tools. We recently added a datetime selector to the Special:Block tool to make it easier to set precise block expirations (phab:T132220). We also upgraded the notice that appears to inform users on mobile devices that they are blocked (phab:T165535). To make blocks stronger, we've expanded cookie blocking to IP blocks to make it more difficult for people to evade their block (phab:T152462).

We investigated building a way for administrators to block users by a hashed combination of browser information but decided it would not be effective without capturing more data during edit sessions (phab:T188160). Because of this we've decided to not pursue this feature at this time. Rather, we've prepared tickets to give CheckUsers the ability to block by IP address or IP range and browser user agent (phab:T100070). This work is prepared and ready to build, just awaiting prioritization.

Our team is currently working on building Partial Blocks, or the ability for administrators to block a user from just a specific page, all pages inside a namespace, or from uploading files. We believe this will allow more tactical sanctions to be set for troublesome users who are productive on other parts of the wiki. (phab:T2674) You can follow that project and see designs at Community health initiative/Per-user page, namespace, and upload blocking.

Chức năng chặn hiện tại của MediaWiki

Hiện tại trên wiki wiki, người dùng và IP có thể bị chặn khỏi các bài viết chỉnh sửa[1]. với ngoại lệ tùy chọn của trang user_talk của bên bị chặn. Các khối được mặc định cho phép quản trị viên và được đăng nhập công khai trên Special:Log, Special:BlockList và Special:Block.

Tương tự như các cách chặn, khóa tài khoản toàn cầu cấm người dùng đăng nhập vào bất kỳ wiki Wikimedia nào và cấm toàn cầu cấm người dùng đăng nhập vào bất kỳ wiki Wikimedia nào và cấm toàn cầu có thể được đặt theo địa chỉ IP.

Autoblocks có thể được chỉ định cho các lệnh cấm tên người dùng, nó sẽ tự động chặn các địa chỉ IP được sử dụng bởi người dùng vi phạm trong 24 giờ.

Vấn đề 1. Tên người dùng hoặc địa chỉ IP bị cấm dễ bị người dùng tinh vi bỏ qua

Các lệnh cấm có thể được đặt theo tên người dùng, địa chỉ IP hoặc dải IP. Địa chỉ IP có thể dễ dàng bị giả mạo hoặc thay đổi thông qua proxy. Rào cản để tạo một tài khoản mới là rất thấp và dễ dàng phá vỡ. Phong trào Wikimedia coi trọng sự cởi mở và riêng tư, vì vậy chúng tôi phải cân bằng việc ngăn chặn các tác nhân xấu chống lại việc giữ cho nền tảng của chúng tôi có thể tiếp cận được với những người mới có thiện chí.

Chúng tôi có thể thực hiện các kỹ thuật chặn mới sử dụng các công nghệ nhận dạng khác nhau, hiện đại hơn. Các tính năng này sẽ cần tuân thủ Chính sách bảo mậtĐiều khoản sử dụng.

Đề xuất giải pháp tiềm năng:

  • Khóa bởi đại diện người dùng[2][3][4] (bao gồm cả CheckUser search)
  • Chặn theo ID thiết bị (bao gồm luôn CheckUser)
  • Chặn toàn cầu đối với tên người dùng[5]
  • Thêm "Ngăn chặn tạo tài khoản" vào lệnh chặn toàn cầu[6]
  • Chặn cookie cho người dùng vô danh[7]
  • Thêm một cách để mở rộng autoblock dài hơn 1 ngày[8]
  • Chặn toàn cầu chủ động proxy mở (hoặc xây dựng một hệ thống chia sẻ IP của họ qua wiki)
  • Dữ liệu cá nhân thu thập được hiển thị dưới dạng phần trăm khớp với CheckUser[9]
  • AI so sánh các mẫu và ngôn ngữ chỉnh sửa để dự đoán các rối có thể[9]
  • Xác định rối bằng cách nhập các mẫu (ví dụ: nhịp / tốc độ), tốc độ mạng và các mẫu chỉnh sửa (ví dụ: thời gian trong ngày, thời lượng phiên chỉnh sửa, danh mục các trang được chỉnh sửa)[9]
  • Hiển thị tất cả các đóng góp được thực hiện trong phạm vi IP trên một nguồn cấp dữ liệu (còn gọi là 'Phạm vi đóng góp')[9][10]
  • Mở rộng phạm vi Nuke sang IP[9]

Vấn đề 2. Các lệnh cấm mạnh mẽ có thể vô tình ngăn người ngoài thiện ý vô tội chỉnh sửa

Nhiều IP và dải IP được chia sẻ bởi nhiều người dùng (ví dụ: thư viện, trường học, tòa nhà văn phòng) và hầu hết các IP riêng lẻ có thể (và sẽ) được ISP gán lại cho người dùng khác. Nếu một diễn viên xấu bị chặn phạm vi IP hoặc IP, người dùng khác không thể chỉnh sửa. Một số khối IP cho phép chỉnh sửa đăng nhập và tên người dùng tốt có thể được đưa vào danh sách trắng từ các khối IP cấm chỉnh sửa đăng nhập.

Chúng tôi có thể triển khai các tính năng mới cấm IP chỉnh sửa hoặc tạo tài khoản vứt đi, nhưng cho phép những người ngoài cuộc có thiện chí vẫn tạo tài khoản và chỉnh sửa hiệu quả.

Đề xuất giải pháp tiềm năng:

  • Yêu cầu tất cả các tài khoản được tạo trong phạm vi IP để xác nhận địa chỉ email của họ trước khi chỉnh sửa.
  • Ngăn chặn việc sử dụng (hoặc sự cố cờ) của các địa chỉ email được liệt kê trong danh sách đen được liên kết với tài khoản người dùng mới
  • Tạo tài khoản throttle và gửi email cho mỗi trình duyệt cũng như địa chỉ IP[11][3]
  • Yêu cầu địa chỉ email là duy nhất cho các chỉnh sửa trong các phạm vi IP nhất định (có khả năng yêu cầu các tên miền email được liệt kê trong danh sách trắng)[9]
  • Cho phép CheckUsers để so sánh các địa chỉ email được băm[9]
  • Xây dựng AI tự động đặt độ dài khối và loại dựa trên UserAgent, IP và / hoặc email[9]
  • Yêu cầu xác thực hai yếu tố để chỉnh sửa trong các dải IP nhất định[9]
  • Chuyển đổi Twinkle và/hoặc Huggle từ tiện ích sang tiện ích mở rộng, tăng độ chính xác của chúng[9]

Bài toán 3. Các lệnh chặn toàn bộ site không phải lúc nào cũng là phản ứng thích hợp cho một số tình huống

Smaller, more tactical blocks may defuse situations while retaining constructive contributors. On some wikis such as English Wikipedia, this concept is dictated by bans. However, technical means to enforce bans are currently limited, and consequently a user may unnecessarily be blocked from editing the wiki as a whole.

Full-site blocks are akin to a sledgehammer. How can we build fly-swatters to prevent a user from causing limited harm while keeping them a part of the wiki.

Proposed potential solutions:

  • Block a user from...
    • ...individual pages[12][13][14][15]
    • ...all pages inside a specific category
    • ...specific namespaces[16]
    • ...creating new pages
    • ...uploading files[17]
    • ...all pages except talk pages[18][19]
    • ...all pages, except a whitelist
    • ...viewing Special:Contributions
    • ...emailing or pinging other users[20][21]
  • Allow admins to specify exactly which permissions to block.[22][23][24][25]
  • Allow admins to temporarily revoke a users' autoconfirmed status.[19]
  • Require all edits by a user to go through deferred changes.[26]
  • Block that only expires when a user has read a specified page (training module, user talk page, etc.)[27][28]
  • Allow admins to throttle a user's edits to a maximum number per day/hour/etc[9]
  • Build a version AbuseFilter that runs on all edits of specified users to create custom, complex blocks[9]
  • Tool to prevent users from writing about themselves.[9]
  • User masking systems to obfuscate or ‘hide’ users from each other on wiki[9]

Problem 4. The tools to set, monitor, and manage blocks have opportunities for productivity improvement

The existing blocking tools (Special:Block, the API, Twinkle, Special:BlockList, etc.) are used daily by numerous users across all Wikimedia wikis. Using these tools can be time intensive, so we would like to explore ideas of how we can simplify the workflows to set or modify a block, monitor block logs, and check the status or details of a block.

Proposed potential solutions

  • When leaving a warning on a user talk page, display how many other warnings have ever been given to that user.[29]
  • Twinkle should automatically know the appropriate warning template to use on that user.
  • Log bans like blocks, which could result showing the information on their user page, contributions, or autogenerate a list of all banned users.[30]
  • Allow CheckUsers to watch specific IPs[31]
  • Allow admins to annotate previous blocks as accidental[32][33][34]
  • Allow admins to set a block date range via datetime selector[35]
  • Allow admins to set different expiration times for blocking editing vs. account creation[36]
  • Allow admins to oversight usernames while blocking them[37]
  • Display block expirations in logs[38]
  • Display a warning on the block page when admins are blocking a sensitive IP[39]
  • Special:Block could suggest block length for common policy infractions[9]
  • Improved way to set mass blocks[9]
  • Block appeal process could be improved to reduce the work required for admins[9]
  • Display if a user is currently blocked on another wiki on Special:Block[9]
  • Mobile block notices are abysmal[9][40]
  • Allow admins to ‘pause’ a block so the user can participate in on-wiki discussions[9]

See also

  • /Links — A list of links on Meta Wiki, MediaWiki.org, and Phabricator about existing blocking tools or suggestions for improvements.
  • /English Wikipedia policies — A list of links on English Wikipedia about blocking policies or tools, and talk page conversations about improvements.
  • /Block notices — Data about how often the "you are blocked" notices appear to people attempting to edit a wiki.
  • Community health initiative/Editing restrictions — The WMF's Anti-Harassment Tools team's documentation page about how new tools could support the socially enforced editing restrictions used by English Wikipedia.
  • Community health initiative/Partial blocks — Project page for partial blocks, which allow admins to prevent a user from editing specific page(s) or namespace(s).


  1. Help:Blocking_users on MediaWiki.org
  2. T100070 — Cho phép khóa IP bằng đại diện người dùng
  3. a b 2015 Community Wishlist Survey/Moderation and admin tools#Improve MediaWiki's blocking tools
  4. Khảo sát Mong muốn Cộng đồng 2017/Khóa/chặn thông minh
  5. Ưu tiên các mục hành động, Stewards ghé thăm 2015, trang 9
  6. T17273 — Vui lòng thêm "Ngăn chặn tạo tài khoản" vào lệnh chặn toàn cầu
  7. T152462 — Thêm cookie khi chặn người dùng ẩn danh
  8. T27305 — Thêm một cách để mở rộng autoblock dài hơn 1 ngày
  9. a b c d e f g h i j k l m n o p q r s t Thảo luận: Sáng kiến sức khỏe cộng đồng / Công cụ chặn và cải tiến
  10. phab:T145912
  11. T106930 — Tạo tài khoản throttle và gửi email cho mỗi trình duyệt cũng như địa chỉ IP
  12. T2674Allow users to be blocked from editing a specific article
  13. See also: Community health initiative/Editing restrictions
  14. 2015 Community Wishlist Survey/Moderation and admin tools#Enhanced per-user, per-article protection/blocking
  15. 2017 Community Wishlist Survey/Per-page user blocking
  16. T179110Allow users to be blocked from editing a specific namespace
  17. T6995Ability to block users from uploading files only
  18. T18644Allow users to be blocked from editing non-talk pages only
  19. a b Wikipedia talk:Blocking policy/Archive 21 on English Wikipedia
  20. It is currently possible to block someone from using Special:EmailUser, but this requires also blocking them from editing
  21. T104099Add ability to block users from emailing other users (without performing a full block)
  22. T27400Software should allow admins to give specific users permission to edit specific pages through blocks
  23. Extended blocking on MediaWiki.org
  24. Wikipedia talk:Blocking policy/Archive 23 on English Wikipedia
  25. 2017 Community Wishlist Survey/Allow further user block options ("can edit XY" etc.)
  26. 2016 Community Wishlist Survey/Categories/Moderation tools#All edits from hardblocked IP mark as unreviewed
  27. T18447Set a block that only expires when a user has read a specified page (training module, user talk page, etc.)
  28. Wikipedia talk:Blocking policy/Archive 22 on English Wikipedia
  29. Wikipedia talk:Administrators' noticeboard/Archive 8#Warnings and discussion before blocks on English Wikipedia
  30. Wikipedia talk:Banning policy/Archive 3#Recording of Bans on English Wikipedia
  31. T21796CheckUser watchlist feature
  32. T46759Allow marking blocks that were made in error
  33. 2016 Community Wishlist Survey/Categories/Admins and stewards#Enable administrators to update block logs
  34. Wikipedia talk:Blocking policy/Archive 20 on English Wikipedia
  35. T132220Add datetime selector to block and protect interface to select expiration
  36. T65238Different lengths of block and block account creation
  37. 2016 Community Wishlist Survey/Categories/Admins and stewards#Allow admins to hide names of users while blocking them
  38. T148649Display an entry for page in watchlist when page protection expired; Display an entry in user page when user blocking expired
  39. T151484Display a warning on the block page when admins are blocking a sensitive IP
  40. phab:T165535