자료업로드시 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 (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;
}
if ($filesize > $board[bo_upload_size]) {
continue;
}
$prefix = substr(md5(uniqid(time())),0,8) . "_"; // 접두어
// 프로그램 원래 파일명
$upload_source[$i] = $filename;
$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]";
$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);
@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 주소에 문의한 내용이 있습니다.만..
댓글 2개
sjsjin
19년 전
기본적으로 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");
말씀하신 부분중 특정 확장자는 빠져 있습니다.
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");
일상밖으로
19년 전
네 감사드립니다.
게시판 목록
그누3질답
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 9384 | 19년 전 | 3903 | ||
| 9383 | 19년 전 | 3298 | ||
| 9382 | 19년 전 | 4007 | ||
| 9381 | 19년 전 | 3606 | ||
| 9380 | 19년 전 | 3475 | ||
| 9379 |
디자인픽셀
|
19년 전 | 3634 | |
| 9378 | 19년 전 | 3451 | ||
| 9377 | 19년 전 | 3276 | ||
| 9376 |
arira
|
19년 전 | 3389 | |
| 9375 |
|
19년 전 | 3222 | |
| 9374 | 19년 전 | 3396 | ||
| 9373 | 19년 전 | 3420 | ||
| 9372 | 19년 전 | 3453 | ||
| 9371 | 19년 전 | 3596 | ||
| 9370 | 19년 전 | 3709 | ||
| 9369 | 19년 전 | 3307 | ||
| 9368 |
교회터는스님
|
19년 전 | 3565 | |
| 9367 | 19년 전 | 3683 | ||
| 9366 |
|
19년 전 | 3292 | |
| 9365 |
|
19년 전 | 3558 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기