Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7762[/thread]

spam erkennen regex



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
Froschpopo
 2006-03-05 18:40
#63466 #63466
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
wie könnte man unsinnige texte erkennen?

z.b:
aoisdh08eozfqw0p8wtfzqaotfoi7wq

oder:
...............................

?
GwenDragon
 2006-03-05 19:03
#63467 #63467
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Ganz einfach: Testen, ob Wortgrenzen öfters vorhanden sind.
Wortgrenzen z. B. Tab, Komma, Newline, Leerzeichen ...
renee
 2006-03-05 19:50
#63468 #63468
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie definiert sich unsinnig?? Auch das überprüfen nach den Wortgrenzen ist ja nicht wirklich sicher...
Code: (dl )
asödlkjf asödkjvö asdjölkjör jadvlökasjdf  öjsdkfj aöslkdj as ödfjköl 
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Froschpopo
 2006-03-05 19:55
#63469 #63469
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ioch prüfe jetzt zusätzlich noch alle 100 zeichen auf min. 1 Vokal! Weitere Vorschläge erwünscht.
Linuxer
 2006-03-05 20:16
#63470 #63470
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Wortgrenzen in Perl-RegEx sind \b ;o)
aber "asdbqwe kqwe qkej qwehljj qjwhlkj" ist m.E. mit RegEx nicht effektiv zu kontrollieren.
Eine Kontrolle gegen ein Wörterbuch wäre da schon notwendig; dann das Ganze ab einem zu definierenden prozentualen Anteil als ungültig erklären.

Wie effektiv, performant oder praktikabel diese Idee ist, entzieht meiner Erfahrung und Kenntnis (vllt teste ich das mal, indem ich es in mein GB einbaue ;o) ).
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Froschpopo
 2006-03-05 20:24
#63471 #63471
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
erstmal möchte ich allen für ihre beteiligugn danken.
nehmen wir einfach mal das beispiel von linuxer als vorlage:

"asdbqwe kqwe qkej qwehljj qjwhlkj"

ich fasse mal alle vorschläge zusammen, was man jetzt prüfen könnte:

der Text ist min. 100 Zeichen lang (immer).

-auftauchen von vokalen
-min. 1 Kommata
-min. 5 Whitespaces
-vielleicht könnte man die 100 zeichen noch auf Standardwörter überprüfen, wie z.B. "und", "ist"
GwenDragon
 2006-03-05 20:27
#63472 #63472
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Da hilft nur ein Wörterbuch mit den üblichen Spamausdrücken ;)
Froschpopo
 2006-03-05 20:31
#63473 #63473
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
also ich denke mal, dass folgendes genügt:
-auftauchen von vokalen
-min. 1 Kommata
-min. 5 Whitespaces
-vielleicht könnte man die 100 zeichen noch auf Standardwörter überprüfen, wie z.B. "und", "ist"

-was vielloeicht noch interessant wäre, dass sich die wörter nicht unmittelbar hintereinander wiederholen.

So und jetzt... der regex *he he*
renee
 2006-03-06 12:20
#63474 #63474
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also Kommata sind kein wirklich gutes Kriterium:
Quote
Hallo Perl-Community!

Dies ist ein ganz interessanter Thread über Spamerkennung. Noch viel Spaß!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Froschpopo
 2006-03-07 00:33
#63475 #63475
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ohne mich scheint hier keine kreativität vorhanden zu sein, deshalb ein anfang:
Code: (dl )
/\b([a-zA-Z0-9_]{2,50})\b/g
am besten, wir orientieren uns un diesem kleinen snipplet-anfang :)\n\n

<!--EDIT|Froschpopo|1141684512-->
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2006-03-05 18:40.