Changeset 1076
- Timestamp:
- Dec 7, 2006, 8:59:40 PM (16 years ago)
- Location:
- OpenPNE/trunk
- Files:
-
- 2 added
- 6 edited
- 7 copied
Legend:
- Unmodified
- Added
- Removed
-
OpenPNE/trunk/webapp/lib/db/api.php
r881 r1076 15 15 } 16 16 } 17 18 ?>19 <?php20 /**21 * @copyright 2005-2006 OpenPNE Project22 * @license http://www.php.net/license/3_01.txt PHP License 3.0123 */24 17 25 18 function db_api_insert_token($c_member_id, $token = '') … … 64 57 } 65 58 59 60 //APIðêÂæ¾ 61 function db_api_get_c_api_one($name) 62 { 63 $sql = 'SELECT * FROM c_api WHERE name = ?'; 64 $params = array(strval($name)); 65 66 return db_get_row($sql, $params); 67 } 68 69 //APIªÂµÄ¢éIP©Ç¤©`FbN·é 70 function db_api_check_ip($name, $ip) 71 { 72 $api = db_api_get_c_api_one($name); 73 if ($api['ip'] == '*' || $api['ip'] == $ip) { 74 return true; 75 } else { 76 return false; 77 } 78 } 79 80 81 66 82 ?> -
OpenPNE/trunk/webapp/modules/admin/lib/db_admin.php
r939 r1076 1857 1857 } 1858 1858 1859 //APIを全て取得(ページャー付き) 1860 function db_admin_get_c_api_all($page, $page_size, &$pager) 1861 { 1862 $sql = 'SELECT * FROM c_api ORDER BY c_api_id'; 1863 1864 $list = db_get_all_page($sql, $page, $page_size, $params); 1865 1866 $sql = 'SELECT count(*) FROM c_api'; 1867 $total_num = db_get_one($sql, $params); 1868 $pager = admin_make_pager($page, $page_size, $total_num); 1869 1870 return $list; 1871 } 1872 1873 //APIを編集 1874 function db_admin_update_c_api($c_api_id, $name, $ip) 1875 { 1876 $data = array( 1877 'name' => strval($name), 1878 'ip' => strval($ip), 1879 ); 1880 $where = array('c_api_id' => intval($c_api_id)); 1881 return db_update('c_api', $data, $where); 1882 } 1883 1859 1884 ?> -
OpenPNE/trunk/webapp/modules/admin/lib/etc_admin.php
r945 r1076 34 34 function admin_make_pager($page, $page_size, $total_num) 35 35 { 36 if ($total_num == 0) { 37 return; 38 } 36 39 $pager = array( 37 40 'page' => $page, … … 114 117 } 115 118 119 //IPアドレスとして正しいか 120 //例:XXX.XXX.XXX.XXX 121 function admin_is_ip($ip) 122 { 123 return preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$ip); 124 } 125 126 //APIを許容するIPアドレスとして正しいか 127 //XXX.XXX.XXX.XXX or *(アスタリスク) or 空 128 function admin_api_is_ip($ip) 129 { 130 if (!$ip || $ip == '*') { 131 return true; 132 } else { 133 return admin_is_ip($ip); 134 } 135 } 136 116 137 ?> -
OpenPNE/trunk/webapp/modules/admin/templates/inc_header.tpl
r924 r1076 69 69 <li><a href="?m=({$module_name})&a=page_({$hash_tbl->hash('edit_c_banner')})" title="バナー管理: トップバナー、サイドバナー追加、任意HTML挿入">バナー管理</a></li> 70 70 <li><a href="?m=({$module_name})&a=page_({$hash_tbl->hash('limit_domain')})" title="ドメイン制限: ドメイン制限追加、編集、削除">ドメイン制限</a></li> 71 <li><a href="?m=({$module_name})&a=page_({$hash_tbl->hash('list_c_api')})" title="OpenPNE API設定: API通信を許可するIPアドレスの設定">OpenPNE API設定</a></li> 72 <li><a href="?m=({$module_name})&a=page_({$hash_tbl->hash('list_c_cmd')})" title="CMD設定: CMDを許可するページの設定">CMD設定</a></li> 71 73 </ul> 72 74 -
OpenPNE/trunk/webapp/modules/api/auth.inc
r2 r1076 5 5 */ 6 6 7 // IP制限 8 if (!in_array('any', (array)$GLOBALS['_OPENPNE_API_IP_LIST'])) { 9 $ip = $_SERVER[SERVER_IP_KEY]; 10 if (!in_array($ip, (array)$GLOBALS['_OPENPNE_API_IP_LIST'])) { 11 exit('Access Denied'); 12 } 13 } 7 14 8 15 9 ?> -
OpenPNE/trunk/webapp/modules/api/do/xmlrpc.php
r2 r1076 27 27 include_once realpath("$dir/$file"); 28 28 $name = substr($file, 0, -4); 29 $dispMap[$name] = array('function' => 'xmlrpc_' . $name); 29 if (db_api_check_ip($name,$_SERVER[SERVER_IP_KEY])) { 30 $dispMap[$name] = array('function' => 'xmlrpc_' . $name); 31 } else { 32 $dispMap[$name] = array('function' => 'xmlrpc_deny'); 33 } 30 34 } 31 35 closedir($dh);
Note: See TracChangeset
for help on using the changeset viewer.