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の表示がこの制限により正常に表示されませんでした。