api.php 966 B

1234567891011121314151617181920212223242526
  1. <?php
  2. /**
  3. * index.php API 入口
  4. *
  5. * @copyright (C) 2005-2010 PHPCMS
  6. * @license http://www.phpcms.cn/license/
  7. * @lastmodify 2010-7-26
  8. */
  9. define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
  10. include PHPCMS_PATH.'phpcms/base.php';
  11. $param = pc_base::load_sys_class('param');
  12. $_userid = param::get_cookie('_userid');
  13. if($_userid) {
  14. $member_db = pc_base::load_model('member_model');
  15. $_userid = intval($_userid);
  16. $memberinfo = $member_db->get_one(array('userid'=>$_userid),'islock');
  17. if($memberinfo['islock']) exit('<h1>Bad Request!</h1>');
  18. }
  19. $op = isset($_GET['op']) && trim($_GET['op']) ? trim($_GET['op']) : exit('Operation can not be empty');
  20. if (isset($_GET['callback']) && !preg_match('/^[a-zA-Z_][a-zA-Z0-9_]+$/', $_GET['callback'])) unset($_GET['callback']);
  21. if (!preg_match('/([^a-z_]+)/i',$op) && file_exists(PHPCMS_PATH.'api/'.$op.'.php')) {
  22. include PHPCMS_PATH.'api/'.$op.'.php';
  23. } else {
  24. exit('API handler does not exist');
  25. }
  26. ?>