첨부파일 관련 질문입니다.

안녕하세요, KBoard 를 중요한 게시판으로 쓰고 있는 사용자 입니다.

 

최근에 게시판과 코멘트 부분을 최신 버전으로 업데이트 했는데요, 두가지 문제가 발생했습니다.

이전에 사용하던 버전은 각각 3.x 버전과 2.x 버전이었습니다.

 

첫번째 문제는 크롬에서 파일 다운로드시 download.php 로 다운로드되고, IE에서 다운로드시 확장자는 그대로 이지만, download.xxx 의 형태로 다운된다는 문제입니다.

두번째 문제는 제가 KBFileHandler.class.php 의 199번째 줄에 확장자를 추가해줬음에도 불구하고 '확장자거부' 라는 메시지가 발생하고 업로드가 안된다는 점입니다.

 

두가지 문제 모두 업데이트 이전에는 발생하지 않던 문제입니다.

 

문제의 해결방법이나, 버전의 다운그레이드 방법을 알려주시면 감사하겠습니다.

 

p.s. 해당 게시판을 매우 중요하게 사용하고 있기 때문에, 향후 DB의 안정성이 큰 문제가 되고 있습니다. KBoard 를 이대로 사용해도 괜찮을까요? 만약 안정성이 문제가 된다면 게시판을 바꿀 계획입니다. 또는 유료라도 지속적인 기술지원이 가능하면 좋겠습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 코스모스팜 스레드는 고객센터가 아닙니다. 프로그래밍 질문/답변 서비스 입니다.

    저희 코스모스팜은 기부 및 기술지원 비용으로 유지되고 있습니다.

    KBoard는 아시다시피 무료로 배포하고 있고요.

    그렇다고 대충 안전성에 문제가 생기도록 개발을 진행하지는 않습니다.

    문제가 생겨도 끝까지 책임을 지고 있습니다.

    기술적인 질문에 답변을 달고 있고, 유료 기술지원도 진행하고 있습니다.

    ownee님뿐만 아니라 KBoard를 사용하는 모든 분들이 게시판이 매우 중요하신 분들 일겁니다.

    따라서 대충 개발 할 수 없답니다.

     

    KBFileHandler 클래스에서 파일업로드 관련 코드는 최근에 변경된 부분이 없습니다.

    그리고 다운로드 부분도 내부 테스트에서는 문제가 없었습니다.

    다운로드 관련해서는 /kboard/execute/download.php 파일을 수정해주세요.

    header("Content-type: application/octet-stream");
    header("Content-Disposition: filename=\"".iconv('utf8','cp949//IGNORE',str_replace(' ','-',$name))."\"");
    header("Content-length: ".filesize($path));
    header("Cache-control: private");
    header('Pragma: private');
    header("Expires: 0");

    위 부분을 아래 부분으로 바꿔주세요. 예전 코드 입니다.

    if(eregi("(MSIE 5.0|MSIE 5.1|MSIE 5.5|MSIE 6.0)", $_SERVER["HTTP_USER_AGENT"]) && !eregi("(Opera|Netscape)", $_SERVER["HTTP_USER_AGENT"])){
        header("Content-type: application/octet-stream");
        header("Content-Length: ".filesize($path));
        header("Content-Disposition: attachment; filename=" . iconv('UTF-8','cp949//IGNORE',str_replace(' ','-',$name)));
        header("Content-Transfer-Encoding: binary");
        header("Pragma: no-cache");
        header("Expires: 0");
    }
    else{
        header("Content-type: file/unknown");
        header("Content-Length: ".filesize($path));
        header("Content-Disposition: attachment; filename=" . iconv('UTF-8','cp949//IGNORE',str_replace(' ','-',$name)));
        header("Content-Transfer-Encoding: binary");
        header("Pragma: no-cache");
        header("Expires: 0");
    }

  • 어떠한 방식으로든 KBoard 오픈소스 프로젝트에 기여해 주세요.

    오래도록 좋은 프로그램으로 남도록 하겠습니다.

  • 답변 정말 감사합니다.

    말씀해주신 코드로 다운로드 문제는 해결하였습니다.

    그러나 확장자 추가 문제는 여전히 지속되고 있습니다.

    그래도 기존 확장자는 사용이 가능해서 큰 문제는 해결되었습니다.

    감사합니다.

  • 서버 환경이 어떻게 되나요?

    내부에서도 더 테스트 해보겠습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기