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?
Bo Berglund
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/