Einführung -- Einführung in Net_DNSBL
Beschreibung
Net_DNSBL prüft, ob Hostnamen oder URLs sich in einer oder
mehrerer Blackhole- oder Spam-Liste befinden.
Unterstützt werden DNSBL, Real-time Blackhole List (RBL) und
die Spam URI Realtime Blocklist (SURBL).
Achtung: derzeit funktioniert dies nur mit IPv4-Adressen.
Benutzung
Beginen wir mit einem einfachen Beispiel. Es soll geprüft werden,
ob eine Hostadresse sich in zwei Blacklists wiederfindet:
<?php
require_once 'Net/DNSBL.php';
$dnsbl = new Net_DNSBL();
$remoteIP = $_SERVER['REMOTE_ADDR'];
$remoteIP = '81.70.69.193';
$dnsbl->setBlacklists(array('sbl-xbl.spamhaus.org', 'bl.spamcop.net'));
if ($dnsbl->isListed($remoteIP)) {
// mach was
}
?> |
Das nächste Beispiel versucht herauszufinden, ob eine URL in einer SURBL
zu finden ist:
<?php
require_once 'Net/DNSBL/SURBL.php';
$surbl = new Net_DNSBL_SURBL();
if ($surbl->isListed($addData['url'])) {
// do something
}
?> |
Im nächsten Beispiel wird eine Reihe von URLs überprüft,
die innerhalb eines Textes vorkommen. Der Code zur Ermittlung
der URLs befindet sich auf
http://www.phpfreaks.com/quickcode/Extract_All_URLs_on_a_Page/15.php.
<?php
foreach ($extracted_urls as $surbl_check_url) {
if ($surbl->isListed($surbl_check_url)) {
// mach was
break;
}
}
?> |
Hier eine Überprüfung, ob der eigene Server irgendwo gelistet ist:
<?php
require_once 'Net/DNSBL.php';
$dnsbl = new Net_DNSBL();
$dnsbl->setBlacklists(array('sbl-xbl.spamhaus.org', 'bl.spamcop.net'));
if ($dnsbl->isListed($_SERVER['REMOTE_ADDR'])) {
var_dump($dnsbl->getDetails($_SERVER['REMOTE_ADDR']));
var_dump($dnsbl->getTxt($_SERVER['REMOTE_ADDR']));
var_dump($dnsbl->getListingBl($_SERVER['REMOTE_ADDR']));
var_dump($dnsbl->getListingRecord($_SERVER['REMOTE_ADDR']);
}
?> |