PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

導入 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

導入

導入 – Net_DNSBL の導入

Description

PEAR::Net_DNSBL は、指定したホストあるいは URL が、 DNS ベースのブラックホールリスト (DNSBL、あるいは リアルタイムブラックホールリスト: RBL) あるいは Spam URI リアルタイムブロックリスト (SURBL) にリストされているかどうかを調べます。

現時点では IPv4 のIPアドレスにしか対応していないことに注意してください。

使用法

まずは簡単な例からはじめましょう。リモートホストが、 ふたつのブラックリストにリストされているかどうかをチェックします。

<?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)) {
    
// 何かの処理
}
?>

この例では、URL が SURBL(Spam URI Realtime Blocklists) にリストされているかどうかをチェックします。

<?php
require_once 'Net/DNSBL/SURBL.php';
$surbl = new Net_DNSBL_SURBL();
if (
$surbl->isListed($addData['url'])) {
    
// 何かの処理
}
?>

テキストから URL を抽出する方法は、 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)) {
        
// 何かの処理
        
break;
    }
}
?>

ホストが一覧に載っていた場合に、詳細な情報を取得してみましょう。

<?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']);
}
?>

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「導入」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 導入」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: