Tag: haik Tag: qhm Tag: プラグイン

HAIK,QHMプラグイン「editmode」でアクセス制限

 HAIK,QHMで利用出来るプラグイン。QHM4.73から動作確認。編集中のページの先頭で記述し、許可されたIPアドレス以外の閲覧を制限する時などに使える。

<?php
 
/**
 *   editmode プラグイン(QHM 編集中表示制限)
 *   -------------------------------------------
 *   2016/02/08           http://oi21.com/
 *
 *   Usage :
 *     #editmode(192.168.1.)
 *
 *   ./plugin/editmode/list.txt があれば読み込んで
 *   IPアドレスの指定を解釈して利用します。
 *   例
 *      192.168.1.123
 *      192.168.3.
 *      127.0.0.1
 *
 *   許可されない場合は、ページ名「WhileEditing」を表示します。
 *   作ってない場合は、管理者ログイン中なら編集モードになります。
 */
 
 
function plugin_editmode_convert()
{
 
    if (PKWK_SAFE_MODE) return ''; // Show nothing
 
    $css = "style='background-color:#CC0077;color:white;"
            ."text-align:center;font-size:14px;font-weight:700;"
            ."padding:4px;'";
 
    if ($_SESSION["usr"] != "") {
        return "<div {$css}>編集モード(ログイン中)</div>";
    }
 
    $args = func_get_args();
 
    $fname = './plugin/editmode/list.txt';
    if (file_exists($fname)) {
        $b = file_get_contents($fname);
        $lines = explode("\n", $b);
        for($i=0; $i<count($lines); $i++) {
            $s = trim($lines[$i]);
            $args[] = $s;
        }
    }
 
 
    $ip = $_SERVER["REMOTE_ADDR"];
 
    $html = "$ip";
    $html .= "<hr>";
    $ipMatch = FALSE;
    $ipMatchAry = array();
    for($i=0; $i<count($args); $i++) {
        $match1 = "";
        $s = str_replace(" ","*",trim($args[$i]));
        if (strpos("_".$ip, $s)>0) {
            $ipMatch = TRUE;
            $ipMatchAry[] = $s;
            $match1 = " : o";
        }
        //$html .= "$i: {$s}{$match1}<br>\n";
    }
 
    if ($ipMatch == FALSE) {
        header("Location: ?WhileEditing");
    }
 
    return "<div {$css}>編集モード(次の条件に一致"
        .implode("/",$ipMatchAry).")</div>";
 
}
 
?>




問題

 rssの表示がこの制限により正常に表示されませんでした。