자료업로드시 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질답
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 9364 |
|
19년 전 | 3571 | |
| 9363 |
|
19년 전 | 3781 | |
| 9362 |
|
19년 전 | 3859 | |
| 9361 |
|
19년 전 | 3432 | |
| 9360 |
makedram
|
19년 전 | 3053 | |
| 9359 |
브레인하트
|
19년 전 | 3256 | |
| 9358 | 19년 전 | 3743 | ||
| 9357 | 19년 전 | 3302 | ||
| 9356 | 19년 전 | 3313 | ||
| 9355 | 19년 전 | 3485 | ||
| 9354 | 19년 전 | 3603 | ||
| 9353 |
|
19년 전 | 3591 | |
| 9352 | 19년 전 | 3866 | ||
| 9351 | 19년 전 | 3369 | ||
| 9350 | 19년 전 | 3481 | ||
| 9349 | 19년 전 | 3302 | ||
| 9348 | 19년 전 | 3714 | ||
| 9347 | 19년 전 | 3362 | ||
| 9346 | 19년 전 | 3257 | ||
| 9345 | 19년 전 | 3411 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기