자료업로드시 php. php3. jsp. 등 첨부되지 않게 설정 하려면 어디를 수정해야 하나요? > 그누3질답

그누3질답

자료업로드시 php. php3. jsp. 등 첨부되지 않게 설정 하려면 어디를 수정해야 하나요? 정보

자료업로드시 php. php3. jsp. 등 첨부되지 않게 설정 하려면 어디를 수정해야 하나요?

본문

bbs/gbupdate.php 파일중
....
 
    // 업로드 가능하다면
    if (is_uploaded_file($tmp_file) && $filename) {
        // 수정이면서 기존의 자료가 있다면 삭제
        if ($w =="u" && $wr["wr_file$i"]) {
            @unlink("./data/file/$bo_table/".$wr["wr_file$i"]);
        }
        // 설정한 업로드 사이즈보다 크다면 건너뜀
        if ($filesize > $board[bo_upload_size]) {
            continue;
        }
        $prefix = substr(md5(uniqid(time())),0,8) . "_"; // 접두어
        // 프로그램 원래 파일명
        $upload_source[$i] = $filename;
        // php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
        $filename = preg_replace($source, $target, $filename);
        // 접두사를 붙인 파일명
  $ext=strstr($filename,"."); //추가되는 부분
  $filename = !ereg_replace("[a-zA-Z0-9]","", $filename); //추가되는 부분
        $upload[$i] = $prefix . $filename . $ext; //수정되는 부분
        $dest_file = "./data/file/$bo_table/$upload[$i]";
        @mkdir("./data/file/$bo_table", 0707);
        @chmod("./data/file/$bo_table", 0707);
        move_uploaded_file($tmp_file, $dest_file) or die($_POST["wr_file$i"][error]);
        chmod($dest_file, 0606);
        $is_up[$i] = true;
    }
}
 
....
 
위 코드중 어떻게 처리해야 하는지? 
아니면 php.ini에 서 설정하는 방법 이라도.. 게시판 쓰기시 보안감사 점검때문에 어느분이 글 올려셨는데 충분한 답변이 되지않아  부탁 드려요
http://www.sir.co.kr/bbs/tb.php/g4_qa/11246  주소에 문의한 내용이 있습니다.만..
 
  • 복사

댓글 전체

기본적으로 g3에서는 php/htm/cgi/펄 관련 확장자들은 치환합니다.
말씀하신 부분중 특정 확장자는 빠져 있습니다.
gbupdate.php 파일 원본기준 110번째 라인에 아래 코드를 수정해 주십시오.

수정전,
$source = array ("/\.php/i", "/\.htm/i", "/\.cgi/i", "/\.pl/i");

수정후,
$source = array ("/\.php/i", "/\.htm/i", "/\.html/i", "/\.cgi/i", "/\.pl/i", "/\php3/i", "/\.jsp/i", "/\.asp/i");
© SIRSOFT
현재 페이지 제일 처음으로