Note: This is an archive of past discussions held here
I'm not having much luck using this page (see my most recent username creations). If you have a chance, take a look, I must be doing something completely wrong. See here for documentation. alphachimp 05:24, 29 March 2007 (UTC)
The list we have here is great, but it doesn't take advantage of... shall we say, the magic of regexes. I suggest the following list, and also suggest that someone who has worked with regexes for longer than I have take a look before implementing this. This blacklist is extremely powerful, in the sense that it allows no exceptions. I have them numbered here, but that should be changed to bullets:
\bass(hole|hat|es)?\b
?
Gracenotes
T § 22:01, 29 March 2007 (UTC)
\badmin(istrator)?\b
.
Gracenotes
T § 20:21, 29 March 2007 (UTC)\.(com|org|co\.uk|net|info)\b
. However, someone would still be able to register an account with the name www.somespam.com/main.php
. This is why there's the (\b|/), or even [\b/].
Gracenotes
T § 22:21, 29 March 2007 (UTC)
[\b]
(the metacharacter \b in a character class) does not mean what you think it does, but rather a backspace character.
Kotepho 06:57, 30 March 2007 (UTC)That's it... any other suggestions would be good. Gracenotes T § 19:23, 29 March 2007 (UTC)
Someone want to add bot to the list?--VectorPotential Talk 20:26, 29 March 2007 (UTC)
:)
Gracenotes
T § 20:28, 29 March 2007 (UTC)
Check out User:Lupin/badwords for a pretty exhaustive list of profanity. alphachimp 22:29, 29 March 2007 (UTC)
burp(er|ing)s?
:)
Gracenotes
T § 22:36, 29 March 2007 (UTC)A note, the regex are all case sensitive. you can force a particular regex as case insensitive. Extracted from http://se.php.net/manual/en/reference.pcre.pattern.syntax.php → Aza Toth 20:28, 29 March 2007 (UTC)
“ | The settings of PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, and PCRE_EXTENDED can be changed from within the pattern by a sequence of Perl option letters enclosed between "(?" and ")". The option letters are:
For example, (?im) sets caseless, multiline matching. It is also possible to unset these options by preceding the letter with a hyphen, and a combined setting and unsetting such as (?im-sx), which sets PCRE_CASELESS and PCRE_MULTILINE while unsetting PCRE_DOTALL and PCRE_EXTENDED, is also permitted. If a letter appears both before and after the hyphen, the option is unset. When an option change occurs at top level (that is, not inside subpattern parentheses), the change applies to the remainder of the pattern that follows. So /ab(?i)c/ matches only "abc" and "abC". This behaviour has been changed in PCRE 4.0, which is bundled since PHP 4.3.3. Before those versions, /ab(?i)c/ would perform as /abc/i (e.g. matching "ABC" and "aBc"). If an option change occurs inside a subpattern, the effect is different. This is a change of behaviour in Perl 5.005. An option change inside a subpattern affects only that part of the subpattern that follows it, so (a(?i)b)c matches abc and aBc and no other strings (assuming PCRE_CASELESS is not used). By this means, options can be made to have different settings in different parts of the pattern. Any changes made in one alternative do carry on into subsequent branches within the same subpattern. For example, (a(?i)b|c) matches "ab", "aB", "c", and "C", even though when matching "C" the first branch is abandoned before the option setting. This is because the effects of option settings happen at compile time. There would be some very weird behaviour otherwise. The PCRE-specific options PCRE_UNGREEDY and PCRE_EXTRA can be changed in the same way as the Perl-compatible options by using the characters U and X respectively. The (?X) flag setting is special in that it must always occur earlier in the pattern than any of the additional features it turns on, even when it is at top level. It is best put at the start. |
” |
How about adding this:
A character (or sequence of characters) repeated at least 10 times. Миша 13 22:21, 29 March 2007 (UTC)
Once the basic list has been established, does anyone think that it's worth it to create the page MediaWiki talk:Usernameblacklist/Requests for addition and removal? Thus, if there are any false positives, we can make a piped link to that page from MediaWiki:Blacklistedusernametext, so that newbies can say "Hey, I have [insert perfectly acceptable name]" somewhere. Or if there's an influx of vandals with a certain offensive username pattern, it can be stopped. (Although the blacklist should not be used as a temporary solution to anything, I think.) Gracenotes T § 22:55, 29 March 2007 (UTC)
I think this "username disallowal" may be malfunctioning. While working at WP:ACC I tried to fill several of the newest requests, but every time got a message saying "The username you have chosen is disallowed because it contains some forbidden string, such as an offensive word." But the usernames didn't seem offensive, they were:
It seems that every username is being denied; WP:ACC is being flooded with requests. Anyone know what is happening and how to fix it? jwillbur talk 23:37, 29 March 2007 (UTC)
While listing some common swearwords here is a good idea, we should avoid trying to enumerate every single inappropriate username, because turning this into a race between us and the people who like such names is simply a waste of effort. >Radiant< 08:06, 30 March 2007 (UTC)
Please fill me in on how the coding works. BuickCenturyDriver ( Honk, contribs, odometer) 22:19, 2 April 2007 (UTC)
I like this feature. I wonder, does this have any implications for the Single Unified Login that we're getting Real Soon Now? -- Abu-Fool Danyal ibn Amir al-Makhiri 20:10, 17 April 2007 (UTC)
I see that this has died down somewhat. Any change we can implement some of the uncontested/resolved changes above? Gracenotes T § 01:29, 21 May 2007 (UTC)
These seem to be the least-collateral-damage ones.
I do not expect all of these to be put in there; certainly some may qualify, however. Gracenotes T § 22:25, 22 May 2007 (UTC)
\b
).
Gracenotes
T § 19:10, 17 June 2007 (UTC)I was at work, and I found some regex's used for data validation that might be of some use here. First off, we have one that should catch "Most Common Curses."
\b(?:(?:ass\s?(?:hole|wipe|bandit|clown|hat|licker)?['s]*)|( ?:bi[a]?tch(?:s|ing|e[sd]?)?)|(?:blow[-]?\s?job(?:s|[b]?ing| [b]?ed)?)|(?:(?:cock[s]?|cunt[s]?)(?:suck(?:er[s]?|ing|ed)?) ?)|(?:(?:mother[-]?|mutha[-]?|un|ass[-]?|finger[-]?|fist[-]? |dry[-]?)?fuck(?:[-]?all|able|er|a|ing|ed|[-]?head|pisswankt it|[-]?wit)?[']?(?:z|s)?)|(?:(?:puss(?:y|ies))(?![-]?cat|[-] ?foot))|(?:(?:jack[-]?|dip[-]?)?shit(?:[-]?\w*)*)|(?:dick[-] ?head[s]?)|(?:gang(?:sta[sz]?|bang(?:er|ing|s|a[z]?)?))|(?:p ecker[-]?\s?(?:track[s]?|wood|head[s]?|cheese|face[s]?)))\b
Secondly, I have one that would capture phone numbers:
1?\s*-?\s*(\d{3}|\(\s*\d{3}\s*\))\s*-?\s*\d{3}\s*-?\s*\d{4}
Finally, I have one that I *know* is long, but supposedly it will catch any possible URL you could throw at it, seriously limiting the number of spam usernames people could register (as e-mails are already disabled on a software level).
\b(?: http://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-) *[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:( ?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_. +!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+! *'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_. +!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?)|(?: ftp://(?:(?:(?:(?:(? :[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a -zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:( ?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a -zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))? ))(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=] )*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])* ))*)(?:;type=[AIDaid])?)?)|(?: news:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(), ]|(?:%[a-fA-F\d]{2}))|[;/?:&=])+@(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z \d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?) )|(?:(?:\d+)(?:\.(?:\d+)){3})))|(?:[a-zA-Z](?:[a-zA-Z\d]|[_.+-])*)|\ *))|(?: nntp://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d ])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\ .(?:\d+)){3}))(?::(?:\d+))?)/(?:[a-zA-Z](?:[a-zA-Z\d]|[_.+-])*)(?:/( ?:\d+))?)|(?: telnet://(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-f A-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F \d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)* [a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(? :\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))/?)|(?: gopher://(?:(?:(?:(?:(? :[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a- zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?) (?:/(?:[a-zA-Z\d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))(?:(?:(?:[a- zA-Z\d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))*)(?:%09(?:(?:(?:[a-zA -Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:%09(?:(?:[a-zA-Z\ d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))*))?)?)?)?)|(?:wais://(?:(? :(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z] (?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::( ?:\d+))?)/(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)(?:(?:/( ?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)/(?:(?:[a-zA-Z\d$\- _.+!*'(),]|(?:%[a-fA-F\d]{2}))*))|\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]| (?:%[a-fA-F\d]{2}))|[;:@&=])*))?)|(?: mailto:(?:(?:[a-zA-Z\d$\-_.+!*' (),;/?:@&=]|(?:%[a-fA-F\d]{2}))+))|(?:file://(?:(?:(?:(?:(?:[a-zA-Z\ d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|- )*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))|localhost)?/(?:(?:(?:( ?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*)(?:/(?:(?:(?: [a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*))*))|(?:prosper o://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(? :[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){ 3}))(?::(?:\d+))?)/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d] {2}))|[?:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2 }))|[?:@&=])*))*)(?:(?:;(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\ d]{2}))|[?:@&])*)=(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}) )|[?:@&])*)))*)|(?:ldap://(?:(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\ d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)) |(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))?/(?:(?:(?:(?:(?:(?:(?:[ a-zA-Z\d]|%(?:3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\ .(?:(?:\d+)(?:\.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?: %20)*))?(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*))(?:(?:(?: %0[Aa])?(?:%20)*)\+(?:(?:%0[Aa])?(?:%20)*)(?:(?:(?:(?:(?:[a-zA-Z\d]| %(?:3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\.(?:(?:\d+ )(?:\.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?:%20)*))?(? :(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)))*)(?:(?:(?:(?:%0[A a])?(?:%20)*)(?:[;,])(?:(?:%0[Aa])?(?:%20)*))(?:(?:(?:(?:(?:(?:[a-zA -Z\d]|%(?:3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\.(?: (?:\d+)(?:\.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?:%20) *))?(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*))(?:(?:(?:%0[A a])?(?:%20)*)\+(?:(?:%0[Aa])?(?:%20)*)(?:(?:(?:(?:(?:[a-zA-Z\d]|%(?: 3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\.(?:(?:\d+)(?: \.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?:%20)*))?(?:(?: [a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)))*))*(?:(?:(?:%0[Aa])?( ?:%20)*)(?:[;,])(?:(?:%0[Aa])?(?:%20)*))?)(?:\?(?:(?:(?:(?:[a-zA-Z\d $\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+)(?:,(?:(?:[a-zA-Z\d$\-_.+!*'(),]| (?:%[a-fA-F\d]{2}))+))*)?)(?:\?(?:base|one|sub)(?:\?(?:((?:[a-zA-Z\d $\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))+)))?)?)?)|(?:(?:z39\.50[rs] )://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(? :[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){ 3}))(?::(?:\d+))?)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d] {2}))+)(?:\+(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+))*(?:\ ?(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+))?)?(?:;esn=(?:(? :[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+))?(?:;rs=(?:(?:[a-zA-Z\ d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+)(?:\+(?:(?:[a-zA-Z\d$\-_.+!*'(), ]|(?:%[a-fA-F\d]{2}))+))*)?))|(?:cid:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),] |(?:%[a-fA-F\d]{2}))|[;?:@&=])*))|(?:mid:(?:(?:(?:[a-zA-Z\d$\-_.+!*' (),]|(?:%[a-fA-F\d]{2}))|[;?:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'( ),]|(?:%[a-fA-F\d]{2}))|[;?:@&=])*))?)|(?:vemmi://(?:(?:(?:(?:(?:[a- zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z \d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/ (?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[/?:@&=])*)(?:(? :;(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[/?:@&])*)=(?: (?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[/?:@&])*))*))?)|(? :imap://(?:(?:(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2 }))|[&=~])+)(?:(?:;[Aa][Uu][Tt][Hh]=(?:\*|(?:(?:(?:[a-zA-Z\d$\-_.+!* '(),]|(?:%[a-fA-F\d]{2}))|[&=~])+))))?)|(?:(?:;[Aa][Uu][Tt][Hh]=(?:\ *|(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~])+)))(?:( ?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~])+))?))@)?(? :(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA -Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(? ::(?:\d+))?))/(?:(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d ]{2}))|[&=~:@/])+)?;[Tt][Yy][Pp][Ee]=(?:[Ll](?:[Ii][Ss][Tt]|[Ss][Uu] [Bb])))|(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~: @/])+)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~: @/])+))?(?:(?:;[Uu][Ii][Dd][Vv][Aa][Ll][Ii][Dd][Ii][Tt][Yy]=(?:[1-9] \d*)))?)|(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~ :@/])+)(?:(?:;[Uu][Ii][Dd][Vv][Aa][Ll][Ii][Dd][Ii][Tt][Yy]=(?:[1-9]\ d*)))?(?:/;[Uu][Ii][Dd]=(?:[1-9]\d*))(?:(?:/;[Ss][Ee][Cc][Tt][Ii][Oo ][Nn]=(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~:@/])+ )))?)))?)|(?:nfs:(?:(?://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|- )*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?: (?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:(?:/(?:(?:(?:(?:(?:[a-zA-Z \d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*)(?:/(?:(?:(?:[a-zA-Z\ d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*))*)?)))?)|(?:/(?:(?:(? :(?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*)(?:/(?: (?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*))*)?))|( ?:(?:(?:(?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*) (?:/(?:(?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*)) *)?)))\b
Discussion? Implementation? ^ demon [omg plz] 14:14, 31 May 2007 (UTC)
I went ahead and added two more, Oversight and Checkuser. Figured those shouldn't be allowed either. Hope I wasn't out of line adding them. ^ demon [omg plz] 22:22, 6 August 2007 (UTC)
I made a list of all blocks since 2007-04-12 whos reason contains 'username', some 8000 in all. I lowercased them and split the names into substrings. Below are the top N length substrings in blocked names. The first column is the number of users blocked who had that substring. Some of these may be good to block.
51 product 46 roducti 46 oductio 46 duction 46 1234567 44 2345678 42 asshole 42 3456789 39 uctions 39 bastard 38 vandali 38 sername 37 yourmom 37 usernam 37 aaaaaaa 35 sockpup 34 vandal 33 ockpupp 33 kpuppet 33 ckpuppe 32 ooooooo 31 oompapa 28 account 26 nationa 26 ational 25 n criss 25 len cri 25 helen c 25 en cris 25 elen cr
102 vandal 84 is a 67 엄마 55 123456 52 retard 52 produc 51 roduct 51 nigger 50 puppet 48 uction 46 oducti 46 ductio 46 234567 44 dotcom 44 345678 43 asshol 43 456789 42 sshole 41 yourmo 41 aaaaaa 40 ctions 40 christ 39 will 39 poopoo 39 bastar 39 astard 38 sernam 38 ername 38 andali 37 userna
151 bitch 149 the 137 sucks 119 jesus 107 isgay 103 vanda 103 ation 103 andal 90 is a 85 and 84 nigga 84 is a 77 ihate 77 admin 74 block 71 tions 71 12345 68 poopy 56 suck 56 23456 55 yourm 55 balls 54 retar 54 igger 54 ction 53 you 53 poopo 53 etard 53 chris 52 roduc
374 poop 256 suck 234 is 209 the 194 tion 180 shit 170 your 169 itch 159 the 152 bitc 146 hate 141 ucks 141 nigg 133 ing 123 name 120 esus 120 anda 119 jesu 118 wiki 114 and 113 sgay 113 of 110 vand 110 s a 108 love 107 isga 106 cock 105 �의 104 atio 103 tard 103 ndal 101 you 100 1234 97 will 96 is a 95 like 94 dick 93 butt 88 ster 87 igga
{{
editprotected}}
Many username vandals create usernames which constitute personal attacks on editors:
Here's a pile. As a frequent target of these types of vandals, can I have \bMER\-C\s.+ listed here, to stop this harassment? Other frequent targets include Misza13 and Slimvirgin.
MER-C 10:04, 11 August 2007 (UTC)
I noticed User:Renuncio.com was registered today [1], despite having \.(com|org|co\.uk|net|info)\b in the blacklist. It's not the first time I've seen this happen. Is it just a bug, or does the regexp need tweaking? -- zzuuzz (talk) 20:58, 25 August 2007 (UTC)
Note: This is an archive of past discussions held here
I'm not having much luck using this page (see my most recent username creations). If you have a chance, take a look, I must be doing something completely wrong. See here for documentation. alphachimp 05:24, 29 March 2007 (UTC)
The list we have here is great, but it doesn't take advantage of... shall we say, the magic of regexes. I suggest the following list, and also suggest that someone who has worked with regexes for longer than I have take a look before implementing this. This blacklist is extremely powerful, in the sense that it allows no exceptions. I have them numbered here, but that should be changed to bullets:
\bass(hole|hat|es)?\b
?
Gracenotes
T § 22:01, 29 March 2007 (UTC)
\badmin(istrator)?\b
.
Gracenotes
T § 20:21, 29 March 2007 (UTC)\.(com|org|co\.uk|net|info)\b
. However, someone would still be able to register an account with the name www.somespam.com/main.php
. This is why there's the (\b|/), or even [\b/].
Gracenotes
T § 22:21, 29 March 2007 (UTC)
[\b]
(the metacharacter \b in a character class) does not mean what you think it does, but rather a backspace character.
Kotepho 06:57, 30 March 2007 (UTC)That's it... any other suggestions would be good. Gracenotes T § 19:23, 29 March 2007 (UTC)
Someone want to add bot to the list?--VectorPotential Talk 20:26, 29 March 2007 (UTC)
:)
Gracenotes
T § 20:28, 29 March 2007 (UTC)
Check out User:Lupin/badwords for a pretty exhaustive list of profanity. alphachimp 22:29, 29 March 2007 (UTC)
burp(er|ing)s?
:)
Gracenotes
T § 22:36, 29 March 2007 (UTC)A note, the regex are all case sensitive. you can force a particular regex as case insensitive. Extracted from http://se.php.net/manual/en/reference.pcre.pattern.syntax.php → Aza Toth 20:28, 29 March 2007 (UTC)
“ | The settings of PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, and PCRE_EXTENDED can be changed from within the pattern by a sequence of Perl option letters enclosed between "(?" and ")". The option letters are:
For example, (?im) sets caseless, multiline matching. It is also possible to unset these options by preceding the letter with a hyphen, and a combined setting and unsetting such as (?im-sx), which sets PCRE_CASELESS and PCRE_MULTILINE while unsetting PCRE_DOTALL and PCRE_EXTENDED, is also permitted. If a letter appears both before and after the hyphen, the option is unset. When an option change occurs at top level (that is, not inside subpattern parentheses), the change applies to the remainder of the pattern that follows. So /ab(?i)c/ matches only "abc" and "abC". This behaviour has been changed in PCRE 4.0, which is bundled since PHP 4.3.3. Before those versions, /ab(?i)c/ would perform as /abc/i (e.g. matching "ABC" and "aBc"). If an option change occurs inside a subpattern, the effect is different. This is a change of behaviour in Perl 5.005. An option change inside a subpattern affects only that part of the subpattern that follows it, so (a(?i)b)c matches abc and aBc and no other strings (assuming PCRE_CASELESS is not used). By this means, options can be made to have different settings in different parts of the pattern. Any changes made in one alternative do carry on into subsequent branches within the same subpattern. For example, (a(?i)b|c) matches "ab", "aB", "c", and "C", even though when matching "C" the first branch is abandoned before the option setting. This is because the effects of option settings happen at compile time. There would be some very weird behaviour otherwise. The PCRE-specific options PCRE_UNGREEDY and PCRE_EXTRA can be changed in the same way as the Perl-compatible options by using the characters U and X respectively. The (?X) flag setting is special in that it must always occur earlier in the pattern than any of the additional features it turns on, even when it is at top level. It is best put at the start. |
” |
How about adding this:
A character (or sequence of characters) repeated at least 10 times. Миша 13 22:21, 29 March 2007 (UTC)
Once the basic list has been established, does anyone think that it's worth it to create the page MediaWiki talk:Usernameblacklist/Requests for addition and removal? Thus, if there are any false positives, we can make a piped link to that page from MediaWiki:Blacklistedusernametext, so that newbies can say "Hey, I have [insert perfectly acceptable name]" somewhere. Or if there's an influx of vandals with a certain offensive username pattern, it can be stopped. (Although the blacklist should not be used as a temporary solution to anything, I think.) Gracenotes T § 22:55, 29 March 2007 (UTC)
I think this "username disallowal" may be malfunctioning. While working at WP:ACC I tried to fill several of the newest requests, but every time got a message saying "The username you have chosen is disallowed because it contains some forbidden string, such as an offensive word." But the usernames didn't seem offensive, they were:
It seems that every username is being denied; WP:ACC is being flooded with requests. Anyone know what is happening and how to fix it? jwillbur talk 23:37, 29 March 2007 (UTC)
While listing some common swearwords here is a good idea, we should avoid trying to enumerate every single inappropriate username, because turning this into a race between us and the people who like such names is simply a waste of effort. >Radiant< 08:06, 30 March 2007 (UTC)
Please fill me in on how the coding works. BuickCenturyDriver ( Honk, contribs, odometer) 22:19, 2 April 2007 (UTC)
I like this feature. I wonder, does this have any implications for the Single Unified Login that we're getting Real Soon Now? -- Abu-Fool Danyal ibn Amir al-Makhiri 20:10, 17 April 2007 (UTC)
I see that this has died down somewhat. Any change we can implement some of the uncontested/resolved changes above? Gracenotes T § 01:29, 21 May 2007 (UTC)
These seem to be the least-collateral-damage ones.
I do not expect all of these to be put in there; certainly some may qualify, however. Gracenotes T § 22:25, 22 May 2007 (UTC)
\b
).
Gracenotes
T § 19:10, 17 June 2007 (UTC)I was at work, and I found some regex's used for data validation that might be of some use here. First off, we have one that should catch "Most Common Curses."
\b(?:(?:ass\s?(?:hole|wipe|bandit|clown|hat|licker)?['s]*)|( ?:bi[a]?tch(?:s|ing|e[sd]?)?)|(?:blow[-]?\s?job(?:s|[b]?ing| [b]?ed)?)|(?:(?:cock[s]?|cunt[s]?)(?:suck(?:er[s]?|ing|ed)?) ?)|(?:(?:mother[-]?|mutha[-]?|un|ass[-]?|finger[-]?|fist[-]? |dry[-]?)?fuck(?:[-]?all|able|er|a|ing|ed|[-]?head|pisswankt it|[-]?wit)?[']?(?:z|s)?)|(?:(?:puss(?:y|ies))(?![-]?cat|[-] ?foot))|(?:(?:jack[-]?|dip[-]?)?shit(?:[-]?\w*)*)|(?:dick[-] ?head[s]?)|(?:gang(?:sta[sz]?|bang(?:er|ing|s|a[z]?)?))|(?:p ecker[-]?\s?(?:track[s]?|wood|head[s]?|cheese|face[s]?)))\b
Secondly, I have one that would capture phone numbers:
1?\s*-?\s*(\d{3}|\(\s*\d{3}\s*\))\s*-?\s*\d{3}\s*-?\s*\d{4}
Finally, I have one that I *know* is long, but supposedly it will catch any possible URL you could throw at it, seriously limiting the number of spam usernames people could register (as e-mails are already disabled on a software level).
\b(?: http://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-) *[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:( ?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_. +!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+! *'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))*)(?:\?(?:(?:(?:[a-zA-Z\d$\-_. +!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*))?)?)|(?: ftp://(?:(?:(?:(?:(? :[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a -zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:( ?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a -zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))? ))(?:/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=] )*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])* ))*)(?:;type=[AIDaid])?)?)|(?: news:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(), ]|(?:%[a-fA-F\d]{2}))|[;/?:&=])+@(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z \d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?) )|(?:(?:\d+)(?:\.(?:\d+)){3})))|(?:[a-zA-Z](?:[a-zA-Z\d]|[_.+-])*)|\ *))|(?: nntp://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d ])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\ .(?:\d+)){3}))(?::(?:\d+))?)/(?:[a-zA-Z](?:[a-zA-Z\d]|[_.+-])*)(?:/( ?:\d+))?)|(?: telnet://(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-f A-F\d]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F \d]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)* [a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(? :\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))/?)|(?: gopher://(?:(?:(?:(?:(? :[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a- zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?) (?:/(?:[a-zA-Z\d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))(?:(?:(?:[a- zA-Z\d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))*)(?:%09(?:(?:(?:[a-zA -Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[;:@&=])*)(?:%09(?:(?:[a-zA-Z\ d$\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))*))?)?)?)?)|(?:wais://(?:(? :(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z] (?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::( ?:\d+))?)/(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)(?:(?:/( ?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)/(?:(?:[a-zA-Z\d$\- _.+!*'(),]|(?:%[a-fA-F\d]{2}))*))|\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]| (?:%[a-fA-F\d]{2}))|[;:@&=])*))?)|(?: mailto:(?:(?:[a-zA-Z\d$\-_.+!*' (),;/?:@&=]|(?:%[a-fA-F\d]{2}))+))|(?:file://(?:(?:(?:(?:(?:[a-zA-Z\ d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|- )*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))|localhost)?/(?:(?:(?:( ?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*)(?:/(?:(?:(?: [a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[?:@&=])*))*))|(?:prosper o://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(? :[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){ 3}))(?::(?:\d+))?)/(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d] {2}))|[?:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2 }))|[?:@&=])*))*)(?:(?:;(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\ d]{2}))|[?:@&])*)=(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}) )|[?:@&])*)))*)|(?:ldap://(?:(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\ d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)) |(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?))?/(?:(?:(?:(?:(?:(?:(?:[ a-zA-Z\d]|%(?:3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\ .(?:(?:\d+)(?:\.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?: %20)*))?(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*))(?:(?:(?: %0[Aa])?(?:%20)*)\+(?:(?:%0[Aa])?(?:%20)*)(?:(?:(?:(?:(?:[a-zA-Z\d]| %(?:3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\.(?:(?:\d+ )(?:\.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?:%20)*))?(? :(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)))*)(?:(?:(?:(?:%0[A a])?(?:%20)*)(?:[;,])(?:(?:%0[Aa])?(?:%20)*))(?:(?:(?:(?:(?:(?:[a-zA -Z\d]|%(?:3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\.(?: (?:\d+)(?:\.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?:%20) *))?(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*))(?:(?:(?:%0[A a])?(?:%20)*)\+(?:(?:%0[Aa])?(?:%20)*)(?:(?:(?:(?:(?:[a-zA-Z\d]|%(?: 3\d|[46][a-fA-F\d]|[57][Aa\d]))|(?:%20))+|(?:OID|oid)\.(?:(?:\d+)(?: \.(?:\d+))*))(?:(?:%0[Aa])?(?:%20)*)=(?:(?:%0[Aa])?(?:%20)*))?(?:(?: [a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))*)))*))*(?:(?:(?:%0[Aa])?( ?:%20)*)(?:[;,])(?:(?:%0[Aa])?(?:%20)*))?)(?:\?(?:(?:(?:(?:[a-zA-Z\d $\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+)(?:,(?:(?:[a-zA-Z\d$\-_.+!*'(),]| (?:%[a-fA-F\d]{2}))+))*)?)(?:\?(?:base|one|sub)(?:\?(?:((?:[a-zA-Z\d $\-_.+!*'(),;/?:@&=]|(?:%[a-fA-F\d]{2}))+)))?)?)?)|(?:(?:z39\.50[rs] )://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(? :[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){ 3}))(?::(?:\d+))?)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d] {2}))+)(?:\+(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+))*(?:\ ?(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+))?)?(?:;esn=(?:(? :[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+))?(?:;rs=(?:(?:[a-zA-Z\ d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))+)(?:\+(?:(?:[a-zA-Z\d$\-_.+!*'(), ]|(?:%[a-fA-F\d]{2}))+))*)?))|(?:cid:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),] |(?:%[a-fA-F\d]{2}))|[;?:@&=])*))|(?:mid:(?:(?:(?:[a-zA-Z\d$\-_.+!*' (),]|(?:%[a-fA-F\d]{2}))|[;?:@&=])*)(?:/(?:(?:(?:[a-zA-Z\d$\-_.+!*'( ),]|(?:%[a-fA-F\d]{2}))|[;?:@&=])*))?)|(?:vemmi://(?:(?:(?:(?:(?:[a- zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z \d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:/ (?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[/?:@&=])*)(?:(? :;(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[/?:@&])*)=(?: (?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[/?:@&])*))*))?)|(? :imap://(?:(?:(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2 }))|[&=~])+)(?:(?:;[Aa][Uu][Tt][Hh]=(?:\*|(?:(?:(?:[a-zA-Z\d$\-_.+!* '(),]|(?:%[a-fA-F\d]{2}))|[&=~])+))))?)|(?:(?:;[Aa][Uu][Tt][Hh]=(?:\ *|(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~])+)))(?:( ?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~])+))?))@)?(? :(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*(?:[a-zA -Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?:(?:\d+)(?:\.(?:\d+)){3}))(? ::(?:\d+))?))/(?:(?:(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d ]{2}))|[&=~:@/])+)?;[Tt][Yy][Pp][Ee]=(?:[Ll](?:[Ii][Ss][Tt]|[Ss][Uu] [Bb])))|(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~: @/])+)(?:\?(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~: @/])+))?(?:(?:;[Uu][Ii][Dd][Vv][Aa][Ll][Ii][Dd][Ii][Tt][Yy]=(?:[1-9] \d*)))?)|(?:(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~ :@/])+)(?:(?:;[Uu][Ii][Dd][Vv][Aa][Ll][Ii][Dd][Ii][Tt][Yy]=(?:[1-9]\ d*)))?(?:/;[Uu][Ii][Dd]=(?:[1-9]\d*))(?:(?:/;[Ss][Ee][Cc][Tt][Ii][Oo ][Nn]=(?:(?:(?:[a-zA-Z\d$\-_.+!*'(),]|(?:%[a-fA-F\d]{2}))|[&=~:@/])+ )))?)))?)|(?:nfs:(?:(?://(?:(?:(?:(?:(?:[a-zA-Z\d](?:(?:[a-zA-Z\d]|- )*[a-zA-Z\d])?)\.)*(?:[a-zA-Z](?:(?:[a-zA-Z\d]|-)*[a-zA-Z\d])?))|(?: (?:\d+)(?:\.(?:\d+)){3}))(?::(?:\d+))?)(?:(?:/(?:(?:(?:(?:(?:[a-zA-Z \d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*)(?:/(?:(?:(?:[a-zA-Z\ d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*))*)?)))?)|(?:/(?:(?:(? :(?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*)(?:/(?: (?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*))*)?))|( ?:(?:(?:(?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*) (?:/(?:(?:(?:[a-zA-Z\d\$\-_.!~*'(),])|(?:%[a-fA-F\d]{2})|[:@&=+])*)) *)?)))\b
Discussion? Implementation? ^ demon [omg plz] 14:14, 31 May 2007 (UTC)
I went ahead and added two more, Oversight and Checkuser. Figured those shouldn't be allowed either. Hope I wasn't out of line adding them. ^ demon [omg plz] 22:22, 6 August 2007 (UTC)
I made a list of all blocks since 2007-04-12 whos reason contains 'username', some 8000 in all. I lowercased them and split the names into substrings. Below are the top N length substrings in blocked names. The first column is the number of users blocked who had that substring. Some of these may be good to block.
51 product 46 roducti 46 oductio 46 duction 46 1234567 44 2345678 42 asshole 42 3456789 39 uctions 39 bastard 38 vandali 38 sername 37 yourmom 37 usernam 37 aaaaaaa 35 sockpup 34 vandal 33 ockpupp 33 kpuppet 33 ckpuppe 32 ooooooo 31 oompapa 28 account 26 nationa 26 ational 25 n criss 25 len cri 25 helen c 25 en cris 25 elen cr
102 vandal 84 is a 67 엄마 55 123456 52 retard 52 produc 51 roduct 51 nigger 50 puppet 48 uction 46 oducti 46 ductio 46 234567 44 dotcom 44 345678 43 asshol 43 456789 42 sshole 41 yourmo 41 aaaaaa 40 ctions 40 christ 39 will 39 poopoo 39 bastar 39 astard 38 sernam 38 ername 38 andali 37 userna
151 bitch 149 the 137 sucks 119 jesus 107 isgay 103 vanda 103 ation 103 andal 90 is a 85 and 84 nigga 84 is a 77 ihate 77 admin 74 block 71 tions 71 12345 68 poopy 56 suck 56 23456 55 yourm 55 balls 54 retar 54 igger 54 ction 53 you 53 poopo 53 etard 53 chris 52 roduc
374 poop 256 suck 234 is 209 the 194 tion 180 shit 170 your 169 itch 159 the 152 bitc 146 hate 141 ucks 141 nigg 133 ing 123 name 120 esus 120 anda 119 jesu 118 wiki 114 and 113 sgay 113 of 110 vand 110 s a 108 love 107 isga 106 cock 105 �의 104 atio 103 tard 103 ndal 101 you 100 1234 97 will 96 is a 95 like 94 dick 93 butt 88 ster 87 igga
{{
editprotected}}
Many username vandals create usernames which constitute personal attacks on editors:
Here's a pile. As a frequent target of these types of vandals, can I have \bMER\-C\s.+ listed here, to stop this harassment? Other frequent targets include Misza13 and Slimvirgin.
MER-C 10:04, 11 August 2007 (UTC)
I noticed User:Renuncio.com was registered today [1], despite having \.(com|org|co\.uk|net|info)\b in the blacklist. It's not the first time I've seen this happen. Is it just a bug, or does the regexp need tweaking? -- zzuuzz (talk) 20:58, 25 August 2007 (UTC)