///////////////////////////////////////////////////////////////////////////
//
// DNSBL - Spam IP address checker.
// Copyright (C) 2011 Alexey A.Znayev
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
//
// Alexey A.Znayev, znaeff@mail.ru, http://xbsoft.org, http://xbsoft.ru
//
///////////////////////////////////////////////////////////////////////////
// This file contains public class DNSBL
// This class performs IP address check in spam blocking lists as described
// on http://ru.wikipedia.org/wiki/RBL
class DNSBL {
private $_aCheckers = array(
'spamhaus' => '.zen.spamhaus.org',
'spamcop' => '.bl.spamcop.net',
'dsbl' => '.list.dsbl.org',
'ordb' => '.relays.ordb.org',
'sorbs' => '.dnsbl.sorbs.net',
'njabl' => '.dnsbl.njabl.org'
); // AZ - key 'all' is illegal
private $_sDefaultChecker = 'spamhaus';
///////////////////////////////////////////////////////////////////////////
// CheckSpamIP - check IP for spam in checkers : given, default or all available (may be slow)
// parameters:
// string $ip - ip address
// string $checker - checker name or 'all' or nothing
// returns:
// true when IP exitsts in spam-lists of $checker or at least one of all checkers
// false when not or when ip address is local or not correct
// NOTE: method uses checkdnsrr(), this function is not available on Windows platforms in PHP < 5.3.0
public function CheckSpamIP($ip, $checker = ''){
if(empty($ip)) return false;
if(preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $ip) != 1) return false;
$octets = explode('.', $ip);
if($octets[0] == '127') return false;
if($octets[0] == '10') return false;
if($octets[0] == '192' && $octets[0] == '168') return false;
if($octets[0] == '169' && $octets[0] == '254') return false; // ms windows
if((int)$octets[0] > 255 || (int)$octets[1] > 255 || (int)$octets[2] > 255 || (int)$octets[3] > 255 ) return false;
$ret_val = false;
$res_dns = array();
$PTR = implode(array_reverse($octets), '.');
//$type = 'A';
if($checker === 'all'){
foreach(array_values($this->_aCheckers) as $c){
//$ret_val = $ret_val || checkdnsrr($PTR . $c, $type);
$ret_val = $ret_val || $this->_CheckDNSAnswer(dns_get_record($PTR . $c, DNS_A));
if($ret_val) break;
}
}else if(array_key_exists($checker, $this->_aCheckers)){
//$ret_val = checkdnsrr($PTR . $this->_aCheckers[$checker], $type);
$ret_val = $this->_CheckDNSAnswer(dns_get_record($PTR . $this->_aCheckers[$checker], DNS_A));
}else{
//$ret_val = checkdnsrr($PTR . $this->_aCheckers[$this->_sDefaultChecker], $type);
$ret_val = $this->_CheckDNSAnswer(dns_get_record($PTR . $this->_aCheckers[$this->_sDefaultChecker], DNS_A));
}
return $ret_val;
}
///////////////////////////////////////////////////////////////////////////
// GetCheckers - gets list of available checker names
// returns:
// array of strings
public function GetCheckers(){
return array_keys($this->_aCheckers);
}
///////////////////////////////////////////////////////////////////////////
// GetDefaultChecker - gets default checker name
// returns:
// string
public function GetDefaultChecker(){
return $this->_sDefaultChecker;
}
///////////////////////////////////////////////////////////////////////////
// SetDefaultChecker - sets default checker name
// parameters:
// string $new_checker - new default checker name
// returns:
// true when success
// false when failed ($new_checker is not in the list of available checker names)
public function SetDefaultChecker($new_checker){
if(array_key_exists($new_checker, $this->_aCheckers)){
$this->_sDefaultChecker = $new_checker;
return true;
}else{
return false;
}
}
// private methods
///////////////////////////////////////////////////////////////////////////
// _CheckDNSAnswer - checks DNS-server answer for 127.0.0.* values
// returns:
// true when success
// false when failed
private function _CheckDNSAnswer($dns_answer){
if(!is_array($dns_answer)) return false;
$len = count($dns_answer);
if($len <= 0) return false;
for($i=0; $i<$len; $i++){
$obj = $dns_answer[$i];
if(!(is_object($obj) || is_array($obj))) return false;
$ip_str = $obj['ip'];
if(!is_string($ip_str)) return false;
$pos = strpos($ip_str, '127.0.0.');
if($pos !== false) return true;
}
return false;
}
} // end of class DNSBL
?>
Windows 7 Starter Desktophintergrund ändern | blitsblog
Der Desktophintergrund in Windows Starter kann nicht geändert werden. art iphone 6 phone case Beim betätigen der Rechten Maus Taste auf dem Desktop gibt es keine Option: Anpassen. iphone 8 silicon phone case
Lösung:
Mit dem Programm Oceanis Change Background Windows 7 kann ein beliebiges Bild als Desktophintergrund gewählt werden. Vorsicht!! Dies verstößt gegen die EULA (End User Licence Agreement) von Microsoft. iphone 6 case not prime Den sie bei der Installation bzw. bei der Inbetriebnahme zugestimmt haben. Einfach installieren, danach muss neu gestartet werden. Nach dem Neustart „Oceanis Change Background W7“ vom Desktop starten, mit Durchsuchen den Entsprechenden Bilder-Ordner suchen. big iphone 7 case Das zukünftige Hintergrundbild auswählen (Hacken setzen) und mit Änderungen… speichern.