Benutzer:Ivla/spamtests
Zunächst mit Ausdrücken von der Blacklist auf Meta:
http://de.wikipedia.org/wiki/Benutzer:Ivla/sexcam sexcam in Pfadteil des URL geht problemlos.
httx://mehrsexcams.example.org - also der gefilterte Ausdruck im Hostteil - sollte nicht gehen. Tuts auch nicht, musste http in httx ändern, um speichern zu können.
httx://fidosoft.de.example.org sollte wieder nicht gehen - genau so ist es, daher wieder ausgext.
Dito httx://fidosoft.demotiviert.mich.example.org .
Dagegen sollte sich http://www.example.com/fidosoft.de problemlos speichern lassen. Genau.
http://www.example.com/fidosoft.demotiviert.mich/ und http://example.org/blah/myfidosoftie natürlich auch.
\z bei \zoofilia auf meta:Spam_blacklist dürfte schlicht falsch sein, und der ganze Eintrag auf gar nichts matchen. Test: http://no.zoofilia.org http://www.zoofilia.example.com http://wehavenozoofiliaat.example.com Stimmt. Scheint auch ein bischen schwierig, \z = End of string, in any match mode mitten in einer URL hinzukriegen. Obwohl die Anmerkungen zur Syntax auf mediawiki ja hinreichend obskur waren... <veg>.
Aus den zeilenweise getrennten REs in den beiden Blacklists (meta und de) wird eine einzige RE erzeugt:
!http://[a-z0-9\-.]*(line 1|line 2|line 3|....)!Si
Da sind die beiden Schalter i und S angehängt, i steht für case-insensitive,
S ist eine PHP-spezifische Option:
" When a pattern is going to be used several times, it is worth spending more time analyzing it in order to speed up the time taken for matching. If this modifier is set, then this extra analysis is performed. At present, studying a pattern is useful only for non-anchored patterns that do not have a single fixed starting character." http://www.php.net/pcre/ bzw:
Tabelle 4-13 (S. 118):
"Läßt den Parser die Struktur des Musters genauer untersuchen, so daß beim nächsten Mal (z.B. in einer Schleife) alles etwas schneller läuft"
Rasmus Lerdorf & Kevin Tatroe, Programmieren mit PHP, O'Reilly 1. Aufl. 2003
Sowohl php.net als auch pcre.org/pcre.txt sprechen mehrfach von einem "subject string", nichts wirklich
Gutes dazu gefunden, am nächsten auf tfd.com war noch:
3. A course or area of study: Math is her best subject.
Ich tippe aber darauf, dass es hier mit "dem zu untersuchenden String" zu übersetzen ist.
Diese RE beginnt schon mit http://
, das ist nicht optional (kein ?), wird also auf jeden Fall verwendet u. darf daher in den Blacklist-Zeilen nicht wieder vorkommen. (wenn man das braucht könnte man u.U. mit einer Backreference arbeiten) Dann kommt die Zeichenklasse [a-z0-9\-.]*
, also ziemlich alle Zeichen, die im Host-Teil einer URL überhaupt vorkommen dürfen, aber beliebig oft, also auch keinmal.
Daher müsste es eigentlich (entgegen der Dokumentation) möglich sein www.xyz.org als
RE einzutragen.