소스 검색

项目文件压缩包md5校验

NoNZero 9 년 전
부모
커밋
3119f431cb
2개의 변경된 파일16개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 2
      protected/class/attachment.php
  2. 14 2
      protected/controller/ClientController.php

+ 2 - 2
protected/class/attachment.php

@@ -25,8 +25,8 @@ class attachment {
 //	pc_base::load_sys_func('dir');
 //	pc_base::load_sys_class('image', '', '0');
 	$this->upload_root = Doo::conf()->SITE_PATH;
-//	$this->upload_func = 'move_uploaded_file';
-	$this->upload_func = 'copy';
+	$this->upload_func = 'move_uploaded_file';
+//	$this->upload_func = 'copy';
 	$this->upload_dir = $upload_dir;
     }
 

+ 14 - 2
protected/controller/ClientController.php

@@ -1,5 +1,5 @@
 <?php
-
+ini_set('display_errors',on);
 Doo::loadCore('auth/DooAuth');
 Doo::loadClass('PasswordHash');
 Doo::loadClass('client');
@@ -120,9 +120,21 @@ class ClientController extends DooController
     {
         // TODO:上报数据
         // TODO:每期更新数据时候和上传时候要查询当前进行期数的第几次一并写入数据库
-        if (isset($this->params['userid']) && isset($this->params['tenderid']) && isset($this->params['phaseno']) && isset($_POST['MD5_JL'])) {
+        if (isset($this->params['userid']) && isset($this->params['tenderid']) && isset($this->params['phaseno']) && isset($_POST['MD5_JL']) && isset($_POST['MD5_Zip'])) {
             $fp = $this->upfile('upfile');
             if (isset($fp[0]['filepath'])) {
+                /**
+                 * 增加上传压缩包md5检测机制
+                 */
+                $localmd5HashString = hash_file("md5",Doo::conf()->SITE_PATH . $fp[0]['filepath']);
+                if($localmd5HashString!=$_POST['MD5_Zip']){
+                    error_log(var_export(Doo::conf()->SITE_PATH . $fp[0]['filepath'],true),3,'/opt/html/jiliang_customedProduct/'.microtime());
+                    error_log(var_export($_POST,true),3,'/opt/html/jiliang_customedProduct/'.microtime());
+                    error_log(var_export($localmd5HashString,true),3,'/opt/html/jiliang_customedProduct/'.microtime());
+                    $status = array('status' => 'FALSE', 'msg' => '期数数据上传失败,请重新上传');
+                    echo json_encode($status, JSON_UNESCAPED_UNICODE);
+                    die();
+                }
                 $res = $this->zip->open(Doo::conf()->SITE_PATH . $fp[0]['filepath']);
                 $extPath = pathinfo($fp[0]['filepath']);
                 $extPathdir = Doo::conf()->SITE_PATH . $extPath['dirname'] . '/' . $extPath['filename'];