PHP скрипт за предпазване от спам - SmE Protect ?

Doris

Registered
В http://www.mypagerank.net/index.html предлагат скрипт, който предпазвал от спам във формулярите. Изтеглих го и сега му се чудя.
Преди време си публикувах email-а в моя сайт и бързо-бързо ме заринаха със всякакъв спам. После си направих една форма за обратна връзка и за 2 години нямах проблем. От 3 месеца от тая форма ми идват спам, съдържащи хиперлинкове.
Ето скрипта:
Код:
<?php
 		 /* * * * * * * * * * * * * * * * * * * * 
		 *              SmE Protect              *
		 *         ---------------------         *
		 *   copyright: (C) 2006 Scriptme        *
		 *       email: support@scriptme.com     *
		 *  created by: Scriptme                 *
		  * * * * * * * * * * * * * * * * * * * */
		  
// SmE Protect
# Email recive the notification leave a blank if no need recive notification
$report_to = "";
// LOG FILE LEAVE A BLANK IF NO NEED LOGS REMEMBER CHMOD 666 in file to write permission
$_log_file="";
function smeprotect($a)
{
    global $report_to ,$_log_file;
    $bad_str = array("content-type:","charset=","mime-version:","multipart/mixed","bcc:","insert", "select", "update", "delete", "distinct", "having", "truncate", "replace","handler", "like", "as", "or", "procedure", "limit", "order by", "group by", "asc", "desc","../");
    $suspect_found = false;
    foreach($bad_str as $suspect)
      {
    if(eregi($suspect, strtolower($a)))
	  {
    $ip = (empty($_SERVER['REMOTE_ADDR'])) ? 'empty' : $_SERVER['REMOTE_ADDR'];
    $rf = (empty($_SERVER['HTTP_REFERER'])) ? 'empty' : $_SERVER['HTTP_REFERER'];
    $ua = (empty($_SERVER['HTTP_USER_AGENT'])) ? 'empty' : $_SERVER['HTTP_USER_AGENT'];
    $ru = (empty($_SERVER['REQUEST_URI'])) ? 'empty' : $_SERVER['REQUEST_URI'];
    $rm = (empty($_SERVER['REQUEST_METHOD'])) ? 'empty' : $_SERVER['REQUEST_METHOD'];
   
	$suspect_found = true;
    $a = eregi_replace($suspect, " (>>><strong>".$suspect."</strong><<<) ", $a);
	
	# IF EMAIL NOTIFICATION ARE ADDED
    if(!empty($report_to))
      {
    @mail($report_to,"[ABUSE] NOTIFICATION @ " .$_SERVER['HTTP_HOST'] . " by " . $ip,"possible abuse @ " .$_SERVER['HTTP_HOST'] . " by " . $ip ." (" . date('d/m/Y H:i:s') . ")\n\n" ."IP/HOST : " . $ip . "\n\n" ."USER AGENT : " . $ua . "\n\n" ."REFERER : " . $rf . "\n\n" ."REQUEST URI : " . $ru . "\n\n" ."REQUEST METHOD : " . $rm . "\n\n" ."SUSPECT String: " . $a . "\n\n\n\n--","From:".$report_to."\nMessage-ID: <".date("YmdHis")."@".$_SERVER['SERVER_NAME'].">\nMime-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 7bit");
      } 
	# IF LOG FILE ARE ADDED
    if(!empty($_log_file))
      {	
    if (is_writable($_log_file))
	  {
    $fp = fopen("$_log_file","a");
	$string = "".date('d/m/Y H:i:s')."|$ip|$rf|$ua|$ru|$rm|$a\n";
	// being transformed into a newline
	fwrite($fp, $string); // will proccess /n as newline ...
    fclose($fp);
	  }
      }
	
    die("Script processing cancelled: string ".$a." contains text portions that are potentially dangerous to this server. Please use your browser's back-button to return to the previous page .</p>Your IP :<strong> ".$ip." </strong>are logged for security reason !");
      }
      }

}

foreach ($_GET as $value)
{
    smeprotect($value);
}

foreach ($_POST as $value)
{
    smeprotect($value);  
}


?>
 

Back
Горе