Introduction
Introduction -- Introduction to Net_DNSBL
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 } ?>
|
An example how to extract URLS from a text can be found on
http://www.phpfreaks.com/quickcode/Extract_All_URLs_on_a_Page/15.php
and be used this way:
<?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']); } ?>
|