Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:dokuwiki-monitoring

Dies ist eine alte Version des Dokuments!


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