Florian hat geschrieben:Ich glaube, das ist eine echte Herausforderung an die Programmierkunst! Woran erkennt ein Programm eine beliebige URL?...
Die Frage, was der URL-Filter als URL ansieht, hatte ich etwas anders gemeint: Nicht, wie der Filter (theoretisch) URLs erkennen könnte, sondern was tut er tatsächlich?
Was sucht sich der Filter als URL aus einer Mail heraus? Und umgekehrt: Wie muss ein Eintrag in der urlfilter_blacklist beschaffen sein, damit ihn der URL-Filter in einer Mail als Spam-URL erkennt?
Tests zeigen, dass der URL-Filter mit allem möglichen funktioniert, was nach der Regel nicht unbedingt als vollständige URL durchgeht. Beispiele:
blacklist filtert
naturalherbal.us http://wkaswkcdtd@naturalherbal.us/zsxdc/patch/
208.187.160.50 http://208.187.160.50/1663
blasterz.biz http://www.blasterz.biz
Mit den Teilstrings funktioniert das aber nicht immer. Beispiel:
203.1%39%37.2%30%34.%31%35%35 filtert nicht
%320%33.%31%397.%32%30%34.%31%35%35
obwohl beide Zeichenfolgen auf den letzten 17 Stellen identisch sind.
Im übrigen wertet der Filter sogar Mailtos aus. cfventure.com filtert eine Mail aus, die mailto:helpmeout@cfventure.com?subject... enthält.
Daraus folgen gewisse Fragen im Umgang mit dem URL-Filter, z.B....
1. Welcher Teilstring reicht aus, um in einer längeren Zeichenfolge die Spam-URL zu erkennen? Das hat offenbar teils mit den Endungen (biz, com usw) zu tun, teils damit, durch welche Zeichen der Teilstring eingegrenzt wird ( \ / @ . usw.).
2. Können ultralange Einträge auf der blacklist nicht auf einen relevanten Kern reduziert werden? Könnte man nicht z.B. das www. prinzipiell weglassen, weil eine Kurzform wie herbal999.us immer auch die Langform
http://www.herbal999.us erkennt (nicht umgekehrt). Wenn ja, dann würde eine Menge Dubletten entfallen. Spammer verwenden mal die Kurzform, mal die Langform. Reicht die Kurzform aus, dann müsste man hier nicht immer beide Formen, sondern nur noch die Kurzform auf die blacklist setzen. Die blacklist würde schlanker und sicher auch schneller abgearbeitet.
3. Andererseits: Steckt darin nicht auch eine Gefahr, wenn der URL-Filter beliebige Teilstrings als "URL" erkennen würde? Würde er dann nicht zu einem normalen Wortfilter? Womit dann der entscheidende Vorteil des URL-Filters, die 100% Eindeutigkeit des Spamkriteriums, verloren ginge?
In diesem Sinne würde ich also gern mal wissen, was der Filter als "URL" betrachtet und was nicht. Welche Regeln gelten hier?
Gruss von
Susi