You cannot see this page without javascript.

몇가지 환경을 검토한 후에 의심이 가는 부분은 사용하는 미들웨어(php) 버전이 7.x.x 버전이라 함수가 맞지 않는 것은 아닐까 하는 의심이 들었다.

 

먼저 업로드에 관한 구분을 확인하기 위해 에드온의 소스를 검토해본 결과 에드온에서 업로드 하는 것이 아닌것을 알 수 있었고, 보드의 모바일 스킨중 ex연동 스킨의 소스를 다시 뜯어보았다.

 

스킨에 폼은 있으나 업로드 관련기능 구현은 mobileex 모듈에서 하고 있었다.

 

다시 mobileex 모듈에서 소스를 여기저기 파해쳐 보았다.

 

의심 가는 곳은 두곳으로 압축되었다.

 

mobileex.controller.php 파일의 79번째줄

if( !eregi(strtoupper(str_replace('.', '', $allow_filetype->file_ext)),$imglist) ) $is_img = 'N';

 

mobileex.model.php 파일의 54번째줄

if(!eregi($file_name_ext,$allowed_filetypes) && $logged_info->is_admin != 'Y') $allow_filetype->allowed = false;

 

위의 두 줄은 php의 eregi함수를 쓴다.

 

이 함수는 php7에서는 보안취약점에 의하여 사라진 함수이며, php7에서는 preg_match함수로 대체하여 사용하여야 한다.

 

그리하여 다음과 같이 바꾸었다.

 

mobileex.controller.php 파일의 79번째줄

if( !preg_match("/strtoupper(str_replace('.', '', $allow_filetype->file_ext))/i",$imglist) ) $is_img = 'N';

 

mobileex.model.php 파일의 54번째줄

if(!preg_match("/$file_name_ext/i",$allowed_filetypes) && $logged_info->is_admin != 'Y') $allow_filetype->allowed = false;

 

그런대 재미있는 것은 이 모듈의 다른 문장에서 문자열 검출을 위한 함수는 모두 대체 함수를 쓰고 있다는 것이다.

 

왜 이 두줄에서만 예전 함수를 사용하는 지 의문이 든다.

 

아무튼 이렇게 수정 후 php7에서도 정상적으로 동작하는 것을 확인하였다.

엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
29 Programing OCX --> CAB 작성 file LynX 2014-06-13 2801
28 CentOS7 ▒ Doly의 CentOS7 강좌6 2.CenOS 7 설치-4 file LynX 2014-10-23 2929
27 APM PHP-7.2.0 LynX 2017-12-12 3015
26 CentOS samba [22] LynX 2015-06-07 3098
25 Xpress Engine XE - XML 쿼리 언어 LynX 2014-07-11 3104
24 Network GNS3 상세 설정 file [26] LynX 2015-04-29 3111
23 Server Josso file LynX 2013-12-19 3229
22 Linux Postfix 표준 설정 예제 [14] LynX 2014-11-25 3343
21 Linux USB부팅 리눅스의 변경 사항 초기화 [16] LynX 2015-01-07 3609
20 CentOS7 ▒ Doly의 CentOS7 강좌18 6. CentOS 네트워크 4-네트워크 본딩(bonding) file [10] LynX 2014-10-23 3659
19 Linux imap-php 설치 [7] LynX 2014-09-02 3727
18 Linux musescore LynX 2015-03-28 3779
17 CentOS7 ▒ Doly의 CentOS7 강좌19 6. CentOS 네트워크 5-관련 명령어 LynX 2014-10-23 4070
16 Programing Sublime Text License Keys LynX 2016-03-24 4182
15 Programing meadco print LynX 2013-12-12 4267
14 Network VLAN 설정 ① Access mode file [27] LynX 2015-04-29 4270
13 CentOS APM 소스설치 정리 file [18] LynX 2015-06-17 4628
12 CentOS7 ▒ Doly의 CentOS7 강좌29 12. 네트워크 보안설정 12.1 firewalld (2/2) [21] LynX 2015-06-09 5282
11 CentOS7 ▒ Doly의 CentOS7 강좌27 10. 디스크관리 6 XFS 쿼타 file [15] LynX 2015-06-09 5732
10 CentOS7 ▒ Doly의 CentOS7 강좌13 4. 원격접속 - 3.Telnet file [8] LynX 2014-10-23 5922

XE Login