그누보드로 제작된 갤러리 웹페이지에서 사진이 올라가질 않는데....

그누보드로 제작된 갤러리 웹페이지에서 사진이 올라가질 않는데....

QA

그누보드로 제작된 갤러리 웹페이지에서 사진이 올라가질 않는데....

답변 3

본문

시놀로지의 NAS에 웹페이지를 탑재하여 사용해 오고 있었습니다.
얼마전 DSM 5.0으로 업되면서 PHP가 5.5.9 로 업그레이드가 되었네요.
그 후로 잘 되던 제 홈페이지에 사진을 새글로 올리면 텍스트는 올라가지만 사진은 올라가질 않습니다.
그누보드 4.36.11로 되어 있네요.

PHP 5.X.X로 업되면서 그 동안 사용되어지던 함수들이 사용할 수 없다는 이야기를 들었습니다.
그런 함수들 때문인 것 같은데,
사진을 올릴 때 사용되는 함수 중에서 PHP 5.X.X으로 업되면서 사용되지 않는 함수가 있나요?
그리고 그 함수를 어떻게 사용하면 될까요?

도움을 부탁드립니다.

지금 제 사이트는 http://sikphoto.com

이 질문에 댓글 쓰기 :

답변 3

저도 같은 문제로 고민했기에 도움이 될까해서 글 남깁니다. 
 
그누보드의 bbs 디렉토리 write_update.php에서 199~214번째 줄에서 문제가 있는 것 같습니다.
이미지나 플래시에 악성코드를 심어 업로드 하는 경우를 방지하기 위해 추가한 부분인데, 이 부분을 주석처리하여 동작하지 않도록 하면 이미지 파일이 정상적으로 올라갑니다.
 
저도 초보라 원인은 찾았지만 근본적인 해결책은 고수님들께 부탁드립니다.
 
 
 
 
 
 
 
 
아래부분을 모두 주석처리하면 되는 것인가요?


 //=================================================================\
        // 090714
        // 이미지나 플래시 파일에 악성코드를 심어 업로드 하는 경우를 방지
        // 에러메세지는 출력하지 않는다.
        //-----------------------------------------------------------------
        $timg = @getimagesize($tmp_file);
        // image type
        if ( preg_match("/\.($config[cf_image_extension])$/i", $filename) ||
             preg_match("/\.($config[cf_flash_extension])$/i", $filename) ) 
        {
            if ($timg[2] < 1 || $timg[2] > 16)
            {
                //$file_upload_msg .= "\'{$filename}\' 파일이 이미지나 플래시 파일이 아닙니다.\\n";
                continue;
            }
        }
        //=================================================================

악성코드가 포함된 그림파일을 필터링 해주는 부분이라

완전히 주석처리하기도 찜찜해서 아래와 같이 소스 두줄을 고쳤습니다.

동작은 합미다만,  악성코드가 포함된 그림파일을 필터링해 주는 기능에 대해선 자신이 없습니다.

잘 아시는 분이 도와주셨으면 좋겠습니다만......

      if ( preg_mach("/\.($config[cf_image_extension])$/i", $filename) ||
            preg_mach("/\.($config[cf_flash_extension])$/i", $filename) )

위 소스를 아래와 같이 수정하였습니다.

        if ( strpos($filename, "/\.($config[cf_image_extension])$/i" ) ||
            strpos($filename, "/\.($config[cf_flash_extension])$/i" ) )

아쉬운데로 동작은 합니다.

땅사랑님!

이상하게 저 같은 경우에는 종전에는 텍스트라도 게시판에 올라갔는데, 님께서 변경해 주신
write_update.php 의 소스를 

 if ( strpos($filename, "/\.($config[cf_image_extension])$/i" ) || 
            strpos($filename, "/\.($config[cf_flash_extension])$/i" ) ) 로 변경하여 보니,

파일도 올라가지 않지만, 그 곳에서 더 이상 진행이 되질 않습니다.
텍스트도 올리질 못하네요.

PHP를 읽을 수 없어 막막하네요.
언어를 다시 배워야 하나 싶습니다. 

도움을 좀 부탁합니다.
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 71
© SIRSOFT
현재 페이지 제일 처음으로