Mediawiki - Removendo Spam

De Pontão Nós Digitais
Revisão de 14h06min de 22 de agosto de 2013 por Banto Palmarino (discussão | contribs)
Ir para navegaçãoIr para pesquisar

O seguinte documentação funcionado da seguinte forma:

  • adicionar os usuários humanos no grupo "human"
  • Para isso vá em Páginas Especiais > Gesrior

ou pela linha de comando no MySQL

INSERT INTO mw_user_groups ( ug_user, ug_group ) VALUES ( 3, "human");

O conjunto queries usados foram:


remove o conteúdo de mw_categorylinks <source lang="mysql"> delete from mw_categorylinks where cl_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page))); </source>


mw_pagelinks

delete from mw_pagelinks where pl_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));


------mw_externallinks

delete from mw_externallinks where el_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));


------mw_imagelinks

delete from mw_imagelinks where il_from in (select pg.page_id from mw_page pg where pg.page_id in(select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));



mw_user

delete from mw_user where user_id not in(select ug_user from mw_user_groups);



mw_recentchanges

delete from mw_recentchanges where rc_user not in(select ug_user from mw_user_groups);



mw_oldimage

delete from mw_oldimage where oi_user not in(select ug_user from mw_user_groups);



mw_logging

delete from mw_logging where log_user not in(select ug_user from mw_user_groups);



mw_image

delete from mw_image where img_user not in(select ug_user from mw_user_groups);



mw_archive

delete from mw_archive where ar_user not in(select ug_user from mw_user_groups);


delete from mw_page where page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page));



Referências