project:dokuwiki-monitoring
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Monitoring fuer Dokuwiki
Problem: Wiki-Vandalismus
Dann und wann schieben Bots sinnfreien Unfug ins Wiki.
Irgendwelche kurzen Texte, die alles und nichts bedeuten koennen. Keine Werbung, keine URLs, keine Auszeichnungen. Schlecht elektronisch zu erfassen. Allerdings fallen dem trainierten neuronalen Netzwerk zwischen den Ohren die Inhalte der „Zusammenfassung“-Eintraege auf.
Ansatz
Dokuwiki kann User ueber geaenderte Seiten benachrichtigen.
Die entsprechende Mail enthaelt ein Diff der Page, ein paar weitere Angaben und die Zeile „Uebersicht:“ mit der eingegebenen Zusammenfassung.
Die wird jetzt ins „Subject:“ der Mail kopiert, damit man den Foo sofort erkennen kann.
HOWTO
Script dokuwiki-mailfilter
#!/usr/bin/perl # # bearbeitet die Info-Mails vom Dokuwiki nach: # sucht die "Uebersicht"-Zeile und kopiert sie ins Subject # use strict; my @Lines = (); my @Header = (); my $u = undef; while ( my $l = <> ) { push @Header,$l; if ( $l eq "\n" ) { last; } } while (my $l = <>) { push @Lines,$l; chomp $l; if ( $l =~ /^=C3=9Cbersicht:/ ) { $u = substr($l,15); $u =~ s/^=20//g; $u =~ s/(^\s+|\s+$)//g; $u =~ s/[\n\r]+/ /g; } } if ( $u ) { for my $i ( @Header ) { if ( $i =~ /^Subject: / ) { chomp $i; $i .= " [$u]\n"; } } } print @Header,@Lines;
Script ~/.procmailrc
## shackspace dokuwiki messages # f = filter whole mail # H = match header :0 fH * ^Subject: \[shackspace wiki\] |dokuwiki-mailfilter
Ergebnis:
Aus
Subject: [shackspace wiki] Seite geaendert: playground_playground ... =C3=9Cbersicht: test iii
wird
Subject: [shackspace wiki] Seite geaendert: playground_playground [test iii]
project/dokuwiki-monitoring.1330256881.txt.gz · Zuletzt geändert: 2012-02-26 12:48 von 109.192.98.64