Различия между версиями

ЭлементВерсия участника Alex Smotrov от 22:21, 18 января 2010Версия участника Alex Smotrov от 19:29, 17 февраля 2010
Основные сведения
Примечания:
Подряд идущий одинаковый текст: обычно множественный copy/paste нескольких слов для вандализма. Или слишком длинное слово без пробелов.
Подряд идущий одинаковый текст: обычно множественный copy/paste нескольких слов для вандализма. Или слишком длинное слово без пробелов.


edit: ложное срабатывание на монотонных таблицах, дополнение
edit: ложное срабатывание на http у 91.76.68.215
Условия фильтрации
Условия:
(документация)
action == 'edit'
action == 'edit'
&(!'user' in user_groups | user_editcount < 10)
&(!'user' in user_groups | user_editcount < 10)
&(old_size > 0 | article_namespace > 0 | length(new_text) > 150)
&(old_size > 0 | article_namespace > 0 | length(new_text) > 150)
&!added_links
&!added_links
& count('[[', added_lines) < 4
& count('[[', added_lines) < 4
&(
&(
  (long := "[a-zа-я\d]{40}";
  (long := "[a-zа-я\d]{40}";
   lcase(added_lines) rlike long  
   lcase(added_lines) rlike long  
   &! lcase(removed_lines) rlike long
   &! lcase(removed_lines) rlike long
   &! contains_any(lcase(new_wikitext),
   &! contains_any(lcase(new_wikitext),
  'кислот','щелоч','лекарств','химич','hash','хеш')
  'кислот','щелоч','лекарств','химич','hash','хеш')
   &! contains_any(lcase(added_lines),'[[image:','[[file:','.jpg')
   &! contains_any(lcase(added_lines),'[[image:','[[file:','.jpg','http://')
  )
  )
|
|
  (m1 := "([а-яА-Я]{1,3})\1{5}";
  (m1 := "([а-яА-Я]{1,3})\1{5}";
   m2 := "([^_:*'&|=}{a-fA-F\d-]{1,3})\1{9}";
   m2 := "([^_:*'&|=}{a-fA-F\d-]{1,3})\1{9}";
   m3 := "([^_:*'&|=}{<>-]{4,30})\1{3}";
   m3 := "([^_:*'&|=}{<>-]{4,30})\1{3}";
   add := rmwhitespace(added_lines);
   add := rmwhitespace(added_lines);
  (add rlike m1 &! rmwhitespace(removed_lines) rlike m1)|
  (add rlike m1 &! rmwhitespace(removed_lines) rlike m1)|
  (add rlike m2 &! rmwhitespace(removed_lines) rlike m2)|
  (add rlike m2 &! rmwhitespace(removed_lines) rlike m2)|
  (add rlike m3 &! rmwhitespace(removed_lines) rlike m3  
  (add rlike m3 &! rmwhitespace(removed_lines) rlike m3  
   &! (added_lines contains '\n{|' & added_lines contains '\n|}')
   &! (added_lines contains '\n{|' & added_lines contains '\n|}')
   & rcount('(!![^!]|\|\|[^|])', add) < 3
   & rcount('(!![^!]|\|\|[^|])', add) < 3
   &  count('\n!', added_lines) < 3
   &  count('\n!', added_lines) < 3
   )
   )
  )
  )
)
)