'484d5122aa27da355d3fe57ba657b567', 'user2' => md5('password'), ); // 引用を許可するページ名のパターン定義 $export_auth_pages = array( '/export\/.*/' => 'user1,user2', // "export/"から始まるページ名 //'/.*/' => 'user2', ); ///////////////////////////////////////////////// function plugin_export_action() { global $export_auth,$export_auth_pages; global $get; $page = $get['page']; $pass = $get['pass']; if($pass == '') { exit; } $src = ''; // 合致したパターンで定義されたユーザのリスト $user_list = array(); foreach($export_auth_pages as $key=>$val) { if (preg_match($key,$page)) { $user_list = array_merge($user_list,explode(',',$val)); } } if (count($user_list) == 0) { // 一致しなかったので引用を許可しない exit; } $pass_list = array(); foreach($user_list as $user) { // パスワードを配列にまとめていく array_push($pass_list,$export_auth[$user]); } if(in_array($pass,$pass_list)) { // パスワード一致 if (!is_page($page) || !check_readable($page,false,false)) { $src = "''$page'' is not found."; } else { $src = join('',get_source($page)); } print $src; } exit; } ?>