/**
  * 控制器执行主逻辑函数
  *
  * @return mixed $value 返回最终需要执行完的结果
  */
 public function invoke()
 {
     Yii::trace(Yii::t('api', 'Begin to process {class}::{function}', array('{class}' => get_class($this), '{function}' => __FUNCTION__)), "miniyun.api");
     // 调用父类初始化函数,注册自定义的异常和错误处理逻辑
     parent::init();
     // keys,是作为参数的键值,进行请求合法验证
     $keys = array('Filename', 'key');
     # 重新序列化参数
     $post = array();
     foreach ($_POST as $key => $value) {
         if ($key == "Filename") {
             $name = explode("_part_", $value);
             $post[$key] = $name[0];
         } else {
             $post[$key] = $value;
         }
     }
     if (MSecurity::verification($keys, $post) == false) {
         Yii::log(Yii::t('api', "Request is Error, verification error"), CLogger::LEVEL_ERROR, "miniyun.api");
         throw new MException(Yii::t('api', MConst::INVLID_REQUEST . "3"), MConst::UPLOAD_FILE_FAILS);
     }
     // 处理创建文件
     if (!MUtils::create(DOCUMENT_CACHE, $_POST, $_FILES)) {
         throw new MException(Yii::t('api', MConst::INVLID_REQUEST . "4"), MConst::UPLOAD_FILE_FAILS);
     }
 }
Exemple #2
0
 /**
  * 方法描述:验证请求是否有效
  * @param array $keys       - 参数列表
  * @param array $post       - http请求接收的参数
  * @return bool true or false
  */
 public static function verification($keys, $post)
 {
     Yii::trace(Yii::t('api', 'Begin to process {class}::{function}', array('{class}' => "MSecurity", '{function}' => __FUNCTION__)), "miniyun.api");
     $argv = MSecurity::assemble_array($keys, $post);
     $expire_time = @$post['expiration_date'];
     $digital_signature = @$post['digital_signature'];
     Yii::trace(Yii::t('api', "end to process {class}::FUNCTION: {$expire_time} ----{$digital_signature}" . __FUNCTION__), "miniyun.api");
     $security = new MSecurityClass();
     return $security->verification($argv, $expire_time, $digital_signature);
 }
 /**
  * 控制器执行主逻辑函数
  *
  * @return mixed $value 返回最终需要执行完的结果
  */
 public function invoke()
 {
     Yii::trace(Yii::t('api', 'Begin to process {class}::{function}', array('{class}' => get_class($this), '{function}' => __FUNCTION__)), "miniyun.api");
     //调用父类初始化函数,注册自定义的异常和错误处理逻辑
     parent::init();
     // keys,是作为参数的键值,进行请求合法验证
     $keys = array('Filename', 'key');
     if (MSecurity::verification($keys, $_POST) == false) {
         Yii::log(Yii::t('api', "Request is Error, keys:'{$keys}'"), CLogger::LEVEL_ERROR, "miniyun.api");
         throw new MException(Yii::t('api', MConst::FILE_NOT_EXIST), MConst::DOWNLOAD_FILE_FAILS);
     }
     $this->downloadFile();
 }
 /**
  * 控制器执行主逻辑函数
  *
  * @return mixed $value 返回最终需要执行完的结果
  */
 public function invoke()
 {
     Yii::trace(Yii::t('api', 'Begin to process {class}::{function}', array('{class}' => get_class($this), '{function}' => __FUNCTION__)), "miniyun.api");
     // 调用父类初始化函数,注册自定义的异常和错误处理逻辑
     parent::init();
     // keys,是作为参数的键值,进行请求合法验证
     $keys = array('Filename', 'key');
     if (MSecurity::verification($keys, $_POST) == false) {
         Yii::log(Yii::t('api', "Request is Error, keys:'{$keys}'"), CLogger::LEVEL_ERROR, "miniyun.api");
         throw new MException(Yii::t('api', MConst::INVLID_REQUEST . "1"), MConst::UPLOAD_FILE_FAILS);
     }
     // 处理创建文件
     if (!MUtils::create(DOCUMENT_ROOT_BLOCK, $_POST, $_FILES, true)) {
         throw new MException(Yii::t('api', MConst::INVLID_REQUEST . "2"), MConst::UPLOAD_FILE_FAILS);
     }
     Yii::trace(Yii::t('api', 'end to process {class}::{function}', array('{class}' => get_class($this), '{function}' => __FUNCTION__)), "miniyun.api");
 }