Thread Hilfe bei Stringdurchforstung: gästebuch einträge ohne url (16 answers)
Opened by Gast at 2005-11-18 12:21

Gast Gast
 2005-11-18 12:21
#6027 #6027
Ich habe eine gästebuch (Matt wright)
und möchte aufgrund von extremen spamaufkommen, das ganze so umbauen, dass alle einträge die einen link in ihren comment einbauen, automatisch gelöscht werden.

hier der code von dieser funktion, das url feld ist kein problem,
den code hab ich schon entfernt, es geht mir darum,
dass vorher überprüft werden soll, ob im comment feld ein http oder www vorkommt und wenn ja, dann dieser eintrag nicht eingetragen wird bzw. auch keine emails verschickt werden (an den webmaster und den eintragenden).

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Open Link File to Output
open (GUEST,">$guestbookreal") || die "Can't Open $guestbookreal: $!\n";

for ($i=0;$i<=$SIZE;$i++) {
  $_=$LINES[$i];
  if (/<!--begin-->/) {

     if ($entry_order eq '1') {
        print GUEST "<!--begin-->\n";
     }
 
     if ($line_breaks == 1) {
        $FORM{'comments'} =~ s/\cM\n/<br>\n/g;
     }

     print GUEST "<b>$FORM{'comments'}</b><br>\n";
     
        print GUEST "$FORM{'realname'}";


     if ($FORM{'username'} =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/ ||
         $FORM{'username'} eq '' ||
         $FORM{'username'} !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/) {
           print GUEST " &lt;$FORM{'username'}&gt;";
     }
     else {
        if ($linkmail eq '1') {
           print GUEST " \&lt;<a href=\"mailto:$FORM{'username'}\">$FORM{'username'}</a>\&gt;";
        }
     }

     print GUEST "<br>\n";

     if ( $FORM{'city'} ){
        print GUEST "$FORM{'city'},";
     }
   
     if ( $FORM{'street'} ){
        print GUEST " $FORM{'street'}";
     }

     if ( $FORM{'country'} ){
        print GUEST " $FORM{'country'}";
     }

     if ($separator eq '1') {
        print GUEST " - $date<hr>\n\n";
     }
     else {
        print GUEST " - $date<p>\n\n";
     }

     if ($entry_order eq '0') {
        print GUEST "<!--begin-->\n";
     }

  }
  else {
     print GUEST $_;
  }
}

close (GUEST);


ich kenn mich zwar in c halbwegs gut aus und ein bischen in php, aber perl is nicht mein gebiet, deswegen vielen dank an alle die mir hier weiterhelfen.

liebe grüsse
günter

View full thread Hilfe bei Stringdurchforstung: gästebuch einträge ohne url