Thread Text-Filter: Scriptproblem (6 answers)
Opened by Taulmarill at 2006-01-26 14:36

Gast Gast
 2006-01-26 14:20
#28385 #28385
Hallo Cracks
Wer weiss Rat? Ich komme da mit einem Anfängerproblem nicht weiter, eine ähnliche Anordnung (IP-Filter) funktioniert einwadfrei, doch ich kann den Fehler im unten kommentierten Wörterfilter nicht finden...

Wörter-Filter: Folgende Komponente eines Gästebuch-Scripts soll den Inhalt eines Formularfeldes auf ausgeschlossene Begriffe aus einem Array überprüfen (und den Eintrag bei Übereinstimmung sperren).

Das Problem liegt wahrscheinlich in diesem Ausdruck my $WZaehler = ($FORM{'comments'} =~ tr/$key_word//i);
...
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/perl -w

# Perl-Script zur Filterung des Formularfeldes $FORM{'comments'} nach Begriffen (aus Array)

# Problem: Die Zeile:
#
# my $WZaehler = ($FORM{'comments'} =~ tr/$key_word//i);
#
# ... ergibt immer true, auch wenn keine Uebereinstimmungen im Feldwert vorhanden sind!

# Aufgabe:
# Suche nach Begriffen, welche 1x enthalten sind (Platzhalter: wort.*)
# 'au' soll gefunden werden in Haus, aus, miau, miAU, blauschwarz
# i = ignoring case

# filtering of not allowed words (1 = ON/ 0 = OFF)
$use_keyfilter = 0;
@key_filterlist = ('.20six.co.uk','.netfirms.com');

# init
$keyword_found = 0;
#
# Key word filter
if($use_keyfilter) {
foreach $key_word (@key_filterlist) {
#
my $WZaehler = ($FORM{'comments'} =~ tr/$key_word//i);
#
if( $WZaehler > 0) {
$keyword_found = 1;
}
}
}

&no_permission unless !$keyword_found;

sub no_permission  {
print "No permission to write this content!\n";
}

View full thread Text-Filter: Scriptproblem