Фильтр правок — различия между версиями
м |
|||
Строка 1: | Строка 1: | ||
'''Фильтр правок''' — расширение движка [[MediaWiki]], предназначенное для автоматической проверки атрибутов действия на соответствие заданным администраторами правилам и принятия определенных ими мер отслеживания и пресечения. Своего рода продвинутая вариация ранее применявшихся в интернете концепций спам-листа и вордфильтра. | '''Фильтр правок''' — расширение движка [[MediaWiki]], предназначенное для автоматической проверки атрибутов действия на соответствие заданным администраторами правилам и принятия определенных ими мер отслеживания и пресечения. Своего рода продвинутая вариация ранее применявшихся в интернете концепций спам-листа и вордфильтра. | ||
− | До создания фильтра правок в MediaWiki уже существовали некоторые функции фильтрации нежелательного контента: например, запрет определенных фраз по регулярному выражению ($wgSpamRegex), защита страниц от редактирования и создания, | + | До создания фильтра правок в MediaWiki уже существовали некоторые функции фильтрации нежелательного контента: например, запрет определенных фраз по регулярному выражению ($wgSpamRegex), защита страниц от редактирования и создания, расширения Username BlackList и Title BlackList. Однако, эти способны защиты имели существенные недостатки: |
+ | * Регулярные выражения, определяемые в переменной, могли задавать только техники сайта. Помимо этого, проверялись только содержимое страницы и описание правки; | ||
+ | * Защита страниц накладывается только на отдельные названия, что позволяло вандалу легко обойти запрет, изменив всего несколько символов (см. HAGGER); каскадная защита, позволяющая защищать множество страниц, неэффективна и не может быть наложена на уровне ''autoconfirmed''; | ||
+ | * Username BlackList и Title BlackList наиболее близко подошли к уровню фильтра правок, позволяя запрещать названия страниц от создания и редактирования, а также некоторые имена учетных записей. Однако, все эти запреты находились на публичной страницы, что создавало проблему сокрытия личных данных, а также существенно упрощало процесс преодоления наложенных ограничений. | ||
− | Меры, принимаемые фильтром, разнятся от логгирования срабатывания фильтра без | + | Меры, принимаемые фильтром, разнятся от логгирования срабатывания фильтра без каких-либо помех совершению правки до бессрочной блокировки подсети класса B и снятия всех технических флагов. |
Сам фильтр представляет собой набор правил, написанных на специальном псевдоязыке, манипулирующем стандартными операторами («больше», «меньше», «равно», «содержит», «совпадение по регулярному выражению» и т. д.) и переменными, автоматически получаемыми фильтром правок для каждого обрабатываемого действия. В переменные входит: имя участника, список последних авторов страницы, старый и новый текст страницы в разных форматах, добавленные и удаленные строки и т. д. Операторы «и» и «или» позволяют использовать в одном фильтре несколько условий. | Сам фильтр представляет собой набор правил, написанных на специальном псевдоязыке, манипулирующем стандартными операторами («больше», «меньше», «равно», «содержит», «совпадение по регулярному выражению» и т. д.) и переменными, автоматически получаемыми фильтром правок для каждого обрабатываемого действия. В переменные входит: имя участника, список последних авторов страницы, старый и новый текст страницы в разных форматах, добавленные и удаленные строки и т. д. Операторы «и» и «или» позволяют использовать в одном фильтре несколько условий. |
Версия 22:11, 8 октября 2011
Фильтр правок — расширение движка MediaWiki, предназначенное для автоматической проверки атрибутов действия на соответствие заданным администраторами правилам и принятия определенных ими мер отслеживания и пресечения. Своего рода продвинутая вариация ранее применявшихся в интернете концепций спам-листа и вордфильтра.
До создания фильтра правок в MediaWiki уже существовали некоторые функции фильтрации нежелательного контента: например, запрет определенных фраз по регулярному выражению ($wgSpamRegex), защита страниц от редактирования и создания, расширения Username BlackList и Title BlackList. Однако, эти способны защиты имели существенные недостатки:
- Регулярные выражения, определяемые в переменной, могли задавать только техники сайта. Помимо этого, проверялись только содержимое страницы и описание правки;
- Защита страниц накладывается только на отдельные названия, что позволяло вандалу легко обойти запрет, изменив всего несколько символов (см. HAGGER); каскадная защита, позволяющая защищать множество страниц, неэффективна и не может быть наложена на уровне autoconfirmed;
- Username BlackList и Title BlackList наиболее близко подошли к уровню фильтра правок, позволяя запрещать названия страниц от создания и редактирования, а также некоторые имена учетных записей. Однако, все эти запреты находились на публичной страницы, что создавало проблему сокрытия личных данных, а также существенно упрощало процесс преодоления наложенных ограничений.
Меры, принимаемые фильтром, разнятся от логгирования срабатывания фильтра без каких-либо помех совершению правки до бессрочной блокировки подсети класса B и снятия всех технических флагов.
Сам фильтр представляет собой набор правил, написанных на специальном псевдоязыке, манипулирующем стандартными операторами («больше», «меньше», «равно», «содержит», «совпадение по регулярному выражению» и т. д.) и переменными, автоматически получаемыми фильтром правок для каждого обрабатываемого действия. В переменные входит: имя участника, список последних авторов страницы, старый и новый текст страницы в разных форматах, добавленные и удаленные строки и т. д. Операторы «и» и «или» позволяют использовать в одном фильтре несколько условий.
Так как при обработке фильтра интерпретатор поочередно проверяет верность заданных выражений и прекращает обработку фильтра после того, как хоть одно из обязательных условий отдало false, возможна оптимизация фильтров: помещение в его начале общих правил, которые позволяют сильно сузить круг срабатывания (например, число правок), а только затем ресурсоемких специфических правил.