Manuel Pear
Introduction
Description
PEAR::Net_DNSBL provides an easy way to check if a given Host or URL is listed on an DNS-based Blackhole List (DNSBL, Real-time Blackhole List or RBL) or Spam URI Realtime Blocklist (SURBL).
Please not that this currently only works with IPv4 IPs.
Usage
Let's start with a simple example to check if the remote host is listed in two blacklists:
- <?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)) {
- // do something
- }
- ?>
This example shows how to check if an URL is listed in a SURBL:
- <?php
- require_once 'Net/DNSBL/SURBL.php';
- $surbl = new Net_DNSBL_SURBL();
- if ($surbl->isListed($addData['url'])) {
- // do something
- }
- ?>
- <?php
- foreach ($extracted_urls as $surbl_check_url) {
- if ($surbl->isListed($surbl_check_url)) {
- // do something
- break;
- }
- }
- ?>
Let's get some details, if our host is listed:
- <?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']);
- }
- ?>
Remonter 
