Stut wrote:
On 26 Aug 2008, at 15:23, tedd wrote:
At 3:14 PM -0700 8/25/08, Jim Lucas wrote:
Here is the function that I added to a generic guest book script. It works great for me. I have a predefined list of sexual, pharmaceutical, rude, vulgar, etc... words that I have in the spamwords.dat file.

function is_spam($str) {
 $data = './data/spamwords.dat';
 $spamword = file($data);
 $str = strtolower($str);
 foreach ($spamword AS $word) {
   $word = trim($word);
   if ( ! empty($word) &&                             // Blank line
        strpos($word, 0, 1) != '#' &&                 // Comment line
        strpos($str, strtolower($word)) !== false ) { // Compare
     return true;
   }
 }
 return false;
}

Just setup the spamwords.dat file to have each word/string that you want to reject for separated on each line.

--
Jim Lucas


Will you share your spamwords.dat file? I get too excited trying to type them in myself. :-)

This reminds me (if I have my story correct) that recently a Christian web site had a similar filter except it filtered news they scrubbed off other site/sources. One of their routines checked for offensive words and then replaced them with PC words.

This receive national attention when their site changed Tyson Gay's name to Tyson Homosexual.

In my experience most spam can be blocked by case-insensitively checking for "[url" and "<a". There ain't many spam comments out there that don't include URLs.

-Stut


Let me try again. I will only supply a link to the file instead of including it for every spam trap to catch... :)

http://www.cmsws.com/examples/data/spamwords.dat

--
Jim Lucas

   "Some men are born to greatness, some achieve greatness,
       and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
    by William Shakespeare


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to