질문/조언팁/리소스 공유

 

최근 PIE 안드로이드 9.0이상  앱에서 라이믹스 사이트는 첨부파일 다운로드시 정상동작하지 않는 것이 확인되어

https://github.com/rhymix/rhymix/issues/1180

 

XE는 정상 다운됨

 

XE코드로 일부 수정한 뒤 테스트해본 결과 잘 받아집니다.

임시 수정이기 때문에 급하게 수정해서 써야하는 경우만 사용하시고 차후 라이믹스에서 패치되면

패치 버전을 적용하세요~ (백업필수)

 

아마도 

$_SESSION['__XE_FILE_KEY__'] = Rhymix\Framework\Security::getRandom(32, 'hex');

 이 부분이랑

        if(strstr($_SERVER['HTTP_USER_AGENT'], "Android")) $is_android = true;

안드로이드에 대한 AGENT가 따로 없어서 그런지 XE코드로 일부 수정하면 index.php 파일명이 아니라

정상적으로 잘 받아집니다~!

 

file.controller.php

function procFileDownload()

 

// Call a trigger (after)
      ModuleHandler::triggerCall('file.downloadFile', 'after', $file_obj);
       
      // Redirect to procFileOutput using file key
      if(!isset($_SESSION['__XE_FILE_KEY__']) || !is_string($_SESSION['__XE_FILE_KEY__']) || strlen($_SESSION['__XE_FILE_KEY__']) != 32)
      {
      $_SESSION['__XE_FILE_KEY__'] = Rhymix\Framework\Security::getRandom(32, 'hex');
      }
      $file_key_data = $file_obj->file_srl . $file_obj->file_size . $file_obj->uploaded_filename . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'];
      $file_key_data = $file_obj->file_srl . $file_obj->file_size . $file_obj->uploaded_filename . $_SERVER['REMOTE_ADDR'];
      $file_key = substr(hash_hmac('sha256', $file_key_data, $_SESSION['__XE_FILE_KEY__']), 0, 32);
      header('Location: '.getNotEncodedUrl('', 'act', 'procFileOutput','file_srl',$file_srl,'file_key',$file_key));
      Context::close();
      exit();
      }

 

 

아래 소스로 교체

 

// Call a trigger (after)

    $output = ModuleHandler::triggerCall('file.downloadFile', 'after', $file_obj);

    


    $random = new Password();

    $file_key = $_SESSION['__XE_FILE_KEY__'][$file_srl] = $random->createSecureSalt(32, 'hex');

    header('Location: '.getNotEncodedUrl('', 'act', 'procFileOutput','file_srl',$file_srl,'file_key',$file_key));

    Context::close();

    exit();

    


    }

   
   
   
   
   
   
   
   
   

 

 

 

public function procFileOutput()

부분 모든 코드 부분을 XE로 교체

 

 

https://github.com/xpressengine/xe-core/blob/develop/modules/file/file.controller.php

 

사과이미지.jpg

 

testmp3.mp3

 

member_join_ex.zip

 

다운로드 테스트 실험

 

Atachment
첨부

서버에 요청 중입니다. 잠시만 기다려 주십시오...