On Tue, 20 Nov 2007 18:39:25 +0100, Bo Berglund <[EMAIL PROTECTED]> wrote:
>On Tue, 20 Nov 2007 08:25:15 -0500, "Lou Hernsen" ><[EMAIL PROTECTED]> wrote: > >>Hallo >>I'm just an amature perl writer.. >>but I would think that using the m// (match) would help. somthing like >># $CONFIG{'Feedback'} = the body of the message, change to whatever it is in >>the program >>if ($CONFIG{'Feedback'} =~ /href=|http:/i ) #i = ignore case >>{ >> # reject code goes here >> exit; >>} >> >>As to preventing cusswords... good luck... >>you could do a string substitution manure is replaced by fertilizer >> >>s/manure/fertilizer/i; >> >>this way the offender never knows what words are being replaced and is less >>likely to try to get around this code with words like schist, or phuque or >>the like.. I think you get my drift. >> >>And I would do the word check right when the words are being parsed. >>Thats how I would do it, but then what do I know.. >>I'm sure there are better ways... and that certain people on this list will >>be quick to shoot me down >>while offering no help of there own... but I wanted to get my "good deed" >>for the day thing out of the way this morning ;) > >Appreciated! > >>hope it helps. >>Lou > >Thanks, >I think it is a help in the right direction! :-) >I thought of adding one more checking function in the middle of the >sequence of the main function like this: > >... ># Parse Form Contents >&parse_form; > ># Reject spammers <== This is what I like to add >&spam_reject; > ># Check Required Fields >&check_required; >... > >Then I would have the new function doing something like this using >your example and the existing code for other checks: > >sub spam_reject { > if ($CONFIG{'Feedback'} =~ /href=|http:/i ) #i = ignore case > { > # reject code goes here > push(@ERROR,'*SPAM*'); > } > > if (@ERROR) { > &error('spam_contents', @ERROR); > } > >} > >Then I would add something like this to the error subroutine in the >middle of the error causes parsing: > > elsif ($error eq 'spam_contents') { > print "<html>\n <head>\n <title>Error: SPAM</title>\n </head>\n"; > print "</head>\n <body"; > > # Get Body Tag Attributes > &body_attributes; > > # Close Body Tag > print ">\n <center>\n\n"; > print " <h1>Error: **** SPAM! ****</h1>\n </center>\n\n"; > print "<p>The data you entered is considered SPAM!</p>\n"; > print "</body></html>\n"; > } > >There is an exit at the end of the error subroutine already. > >Do you think that this would work? > I tested it now but it did not work, I got the email out anyway.... What did I do wrong in the syntax above? Bo Berglund -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/