Worls perfect for me:
1. Öffne / Open includes/functions.php
Suche / Search
?>
Davor einfügen: Add abbove
function checkspammers($input,$inputtype='email'){
//Load the file, and implode the array.
$xml = implode('',file("http://www.stopforumspam.com/api?".$inputtype."=".$input));
//Start new xml parser.
$p = xml_parser_create();
//Get the xml into an array
xml_parse_into_struct($p, $xml, $vals, $index);
//Free some memory by clearing the xml parser
xml_parser_free($p);
//We don't need $index or the $xml any more
unset($index,$xml);
//Prepare the return array
$return = array();
//Now we are going to make the aray useable
foreach($vals as $array){
//If it's the opening array we can do it slightly differnetly
if($array['type'] == 'open'){
//Just get weather it was sucess or not.
$return[$array['tag']] = $array['attributes']['SUCCESS'];
}elseif($array['type'] == 'complete'){
//Else just get the value
$return[$array['tag']] = $array['value'];
}
}
//Save a bit mroe memory by clearing the vals array
unset($vals);
//Now make time into a unix timestamp
if($return['LASTSEEN']){
//Sepparate the timestamp into the time and the date
$time = explode(' ',$return['LASTSEEN']);
//Sepparate the date
$date = explode("-",$time[0]);
//Sepparate the time
$time = explode("-",$time[0]);
//Now make the time, note we times by 1 to remove leading zeros, if we don't then php cansometimes use teh octal system instead of decimal.
$return['UNIXLASTSEEN'] = gmmktime($time[0]*1,$time[1]*1,$time[2]*1,$date[1]*1,$date[2]*1,$date[0]*1);
}
//RESPONCE would be better as booleen, not a string
if($return['RESPONCE'] == 'true'){ $return['RESPONCE'] = true; }else{ $return['RESPONCE'] = false; }
//Now return our array.
return $return;
}
//Example function to check in ip
function isaspammer($ip){
//Get the xml results as an array from teh function above
$result = checkspammers($ip);
//Is he reported?
if($result['FREQUENCY'] > 0 && (time() - $result['UNIXLASTSEEN']) < (3600 * 24 * 365)){
//He is a spammer
return true;
}else{
//He is not reported as a spammer
return false;
}
}
2. Öffne / Open register.php
Suche / Search:
if ($user_password == "") {
Davor einfügen / Add above
if (isaspammer($user_email) || isaspammer($site_sess->user_ip, "ip")) {
$msg .= (($msg != "") ? "<br />" : "").$lang['invalid_email_format']; // or add anything else, bots doesn't understand nothing :)
$error = 1;
}