PukiWiki もブラックリスト対応に

| 0 Comments | 0 TrackBacks
 
 
この記事の方法には、対応できていない問題があります。
[修正版] PukiWiki もブラックリスト対応にをご覧ください
 
 

この記事は、2ちゃんねるの PukiWiki スレで紹介されていた 記事(BluesBBのDSBL(DNSBL)対応) を PukiWiki に適用したものです。

今回は、pukiwiki-1.4.6_rc を使います。

まず、ふつーにインストールして、使えることを確認します。

lib/auth.php

今回さわるのは、lib/auth.php です。2か所あります。

まずは、何らかのエディタで lib/auth.php を開いてください。

これからいじる場所 (その1)

check_editable という部分を探してください。

以下の画像のような場所が見つかるはずです。

コピペ (その1)

見つけたら、"// Basic-auth related ----" と "// Check edit-permission" の間に、以下の枠に囲んだコードをコピペします。

function is_blacklisted($dnsbl_target) {
    $dnsbl_check=array("list.dsbl.org",
                       "niku.2ch.net");
    if ($dnsbl_target) {
        $quads=explode(".",$dnsbl_target);
        $rip=$quads[3].".".$quads[2].".".$quads[1].".".$quads[0];
        for ($i=0; $i<count($dnsbl_check); $i++) {
            if (checkdnsrr($rip.".".$dnsbl_check[$i] . '.',"A")) {
                $listed.=$dnsbl_check[$i]." ";
            }
        }
        if ($listed) { return $listed; } else { return FALSE; }
    }
}

コピペ後 (その1)

コピペ後は以下の画像のようになります。

これからいじる場所 (その2)

先ほどコピペした数行下に移動します。

コピペ (その2)

global $script, $_title_cannotedit, $_msg_unfreeze

という部分があるので、その下に、以下の枠に囲んだコードをコピペします。

    $blacklisted = "Your host is blacklisted.";
    if (is_blacklisted($_SERVER['REMOTE_ADDR'])) {
        // With exit
        $body = $title = str_replace('$1',
            htmlspecialchars(strip_bracket($page)), $_title_cannotedit);
        if (is_freeze($page))
            $body .= '(<a href="' . $script . '?cmd=unfreeze&amp;page=' .
                rawurlencode($page) . '">' . $_msg_unfreeze . '</a>)';
        $page = str_replace('$1', make_search($page), $blacklisted);
        catbody($title, $page, $body);
        exit;
    }

コピペ後 (その2)

コピペ後は以下の画像のようになります。

おしまい

これで修正は終わりです。

ファイルを保存して、修正後の lib/auth.php をアップロードしましょう。

そして、公開プロクシから書き込めるかチェックしてみてください。

有名な公開プロクシとしては、P2P技術で“2ちゃんねる効果”を軽減できる無料CDNが正式公開というのがあります。

拒否される例

上記プロクシ経由で編集しようとして拒否される例です。

ダウンロード

lib/auth.php に対するパッチ

lib/auth.php まるごと入れ換え(書き換え済み) (ファイルを入れ替えるだけで使えるようになります)

No TrackBacks

TrackBack URL: http://blog.woremacx.com/MT/mt-tb.cgi/44

Leave a comment