X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=maps%2Fbin%2Fcheckaddress.cgi;h=916664804396bacbc330094b99ef2ee528b39e3e;hb=16babf81ce331af378de565ba73e927ff5491f65;hp=34ec004a8005f01e0f47d6b5345f6cc2347b7dd9;hpb=020a4a5ea2be725b155cae3a2cadc9aba3911b9b;p=clearscm.git diff --git a/maps/bin/checkaddress.cgi b/maps/bin/checkaddress.cgi index 34ec004..9166648 100755 --- a/maps/bin/checkaddress.cgi +++ b/maps/bin/checkaddress.cgi @@ -2,7 +2,7 @@ ################################################################################ # # File: $RCSfile: checkaddress.cgi,v $ -# Revision: $Revision: 1.1 $ +# Revision: $Revision: 1.1 $ # Description: Check an email address # Author: Andrew@DeFaria.com # Created: Mon Jan 16 20:25:32 PST 2006 @@ -18,76 +18,95 @@ use warnings; use FindBin; $0 = $FindBin::Script; -use lib $FindBin::Bin; +use lib "$FindBin::Bin/../lib"; use MAPS; -use CGI qw (:standard); +use CGI qw(:standard); # Get MAPSUser from cookie my $userid; if (param "user") { - $userid = param "user"; + $userid = param("user"); } else { - $userid = cookie ("MAPSUser"); + $userid = cookie("MAPSUser"); } # if -my $sender = param ("sender"); +my $sender = param("sender"); -sub Heading { +sub Heading() { print - header (-title => "MAPS: Check Address"), + header (-title => "MAPS: Check Address"), start_html (-title => "MAPS: Check Address", - -author => "Andrew\@DeFaria.com"); - print h3 {-align => "center", - -class => "header"}, + -author => "Andrew\@DeFaria.com"); + print h3 {-align => "center", + -class => "header"}, "MAPS: Checking address $sender"; } # Heading -sub Body { - my ($status, $rule); +sub Body() { + my ($onlist, $rule); - ($status, $rule) = OnNulllist $sender; - if ($status) { - print div {-align => "center"}, - font {-color => "grey"}, - "Messages from", b ($sender), "will be", b ("discarded"), br, hr; + # Algorithm change: We now first check to see if the sender is not found + # in the message and skip it if so. Then we handle if we are the sender + # and that the from address is formatted properly. Spammers often use + # the senders email address (i.e. andrew@defaria.com) as their from address + # so we check "Andrew DeFaria ", which they have never + # forged. This catches a lot of spam actually. + # + # Next we check to see if the sender is on our whitelist. If so then we let + # them in. This allows us to say whitelist josephrosenberg@hotmail.com while + # still nulllisting all of the other hotmail.com spammers. + # + # Next we process blacklisted people as they are also of high priority. + # + # Then we process nulllist people. + # + # Finally, we handle return processing + ($onlist, $rule) = OnWhitelist($sender, $userid, 0); + + if ($onlist) { + print div {-align => "center"}, + font {-color => "green"}, + "Messages from", b ($sender), "will be", b ("delivered"), br, hr; print $rule; } else { - ($status, $rule) = OnBlacklist $sender; - if ($status) { + ($onlist, $rule) = OnBlacklist($sender, 0); + + if ($onlist) { print div {-align => "center"}, - font {-color => "black"}, - "Messages from", b ($sender), "will be", b ("blacklisted"), br, hr; + font {-color => "black"}, + "Messages from", b ($sender), "will be", b ("blacklisted"), br, hr; print $rule; } else { - ($status, $rule) = OnWhitelist $sender; - if ($status) { - print div {-align => "center"}, - font {-color => "green"}, - "Messages from", b ($sender), "will be", b ("delivered"), br, hr; - print $rule; + ($onlist, $rule) = OnNulllist($sender, 0); + + if ($onlist) { + print div {-align => "center"}, + font {-color => "grey"}, + "Messages from", b ($sender), "will be", b ("discarded"), br, hr; + print $rule; } else { - print div {-align => "center"}, - font {-color => "red"}, - "Messages from", b ($sender), "will be", b ("returned"); + print div {-align => "center"}, + font {-color => "red"}, + "Messages from", b ($sender), "will be", b ("returned"); } # if } # if } # if - print br div {-align => "center"}, - submit (-name => "submit", - -value => "Close", - -onClick => "window.close (self)"); + print br div {-align => "center"}, + submit(-name => "submit", + -value => "Close", + -onClick => "window.close (self)"); } # Body -sub Footing { +sub Footing() { print end_html; } # Footing # Main -SetContext $userid; +SetContext($userid); Heading; Body; Footing;