カテゴリ | |
---|---|
サマリ | 特定IPからのみ編集できるようにしたい |
バージョン | 1.4.7_notb |
投稿者 | double |
状態 | 完了 |
投稿日 | 2007-11-15 (木) 09:18:28 |
基本的に「閲覧のみ」として稼動させ、特定(1個)のIPからは認証することなく編集可能にさせたいと考えています。 どのようにしたら簡単でしょうか? アドバイスお願いします。
///////////////////////////////////////////////// // INI_FILE: $agents: UserAgentの識別 $ua = 'HTTP_USER_AGENT'; $user_agent = $matches = array(); $user_agent['agent'] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; unset(${$ua}, $_SERVER[$ua], $HTTP_SERVER_VARS[$ua], $ua); // safety if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { //IP を指定 $user_agent['profile'] = 'default'; $user_agent['name'] = 'local'; // device or browser name $user_agent['vers'] = ''; // 's version } else { foreach ($agents as $agent) { if (preg_match($agent['pattern'], $user_agent['agent'], $matches)) { $user_agent['profile'] = isset($agent['profile']) ? $agent['profile'] : ''; $user_agent['name'] = isset($matches[1]) ? $matches[1] : ''; // device or browser name $user_agent['vers'] = isset($matches[2]) ? $matches[2] : ''; // 's version break; } } } unset($agents, $matches);昔、試しに作りかけた物なので、不都合があるかもしれません。
define('PKWK_READONLY', 0);を書いておく。pukiwiki.ini.php やindex.phpからは、PKWK_READONLY 定数の定義を消すかコメントアウト。
define('PKWK_READONLY', 1);を書いておくか、「UserAgentの識別」の最後に
if (! defined('PKWK_READONLY')) define('PKWK_READONLY', 1);と書いておく。 -- 2007-11-15 (木) 19:38:55