그누보드 4.22.06에서 최소한의 보안 설정 방법
그누보드 4.22.06에서 최소한의 보안 설정 방법
1. bbs/move.php
을 다음으로 교체:
2. bbs/move_update.php
을 다음으로 교체:
3. bbs/search.php
를 다음으로 교체:
4. bbs/view.php
를 다음으로 교체:
$signature = bad_tag_convert($signature);
5. zib.db 교환 - 보안하고는 상관은 없습니다.
6. geditor/upload.php
1) 추가
if (!is_uploaded_file($file[tmp_name]))
alert_only("첨부파일이 업로드되지 않았습니다.\\n\\n$file[error]");
다음 추가:
alert_only("PNG, GIF, JPG 형식의 이미지 파일만 업로드 가능합니다.");
2) 교체
를 다음으로 교체:
7. lib/common.lib.php
1) 교체
{
//$source[] = "/(\<)([\/]?)($board[bo_disable_tags])/i";
// 태그에만 적용하던것을 속성(프로퍼티)에도 적용하도록 수정
$source[] = "/([\<]?)([\/]?)($board[bo_disable_tags])/i";
$target[] = "$1$2$3-x";
//$source[] = "/^/";
//$target[] = "<b>이 페이지는 사용금지 태그 사용으로 인하여 정상 출력되지 않을 수 있습니다.</b><p>";
}
를 다음으로 교체: (주석 처리하면 됩니다.)
if ($board[bo_disable_tags])
{
//$source[] = "/(\<)([\/]?)($board[bo_disable_tags])/i";
// 태그에만 적용하던것을 속성(프로퍼티)에도 적용하도록 수정
$source[] = "/([\<]?)([\/]?)($board[bo_disable_tags])/i";
$target[] = "$1$2$3-x";
//$source[] = "/^/";
//$target[] = "<b>이 페이지는 사용금지 태그 사용으로 인하여 정상 출력되지 않을 수 있습니다.</b><p>";
}
*/
2) 추가
다음 추가:
// XSS (Cross Site Script) 막기
// 완벽한 XSS 방지는 없다.
$content = preg_replace("/(on)(abort|blur|change|click|dblclick|dragdrop|error|focus|keydown|keypress|keyup|load|mousedown|mousemove|mouseout|mouseover|mouseup|move|reset|resize|select|submit|unload)/i", "$1<!-- XSS Filter -->$2", $content);
$content = preg_replace("/(scr)(ipt)/i", "$1<!-- XSS Filter -->$2", $content);
$content = preg_replace("/(expre)(ssion)/i", "$1<!-- XSS Filter -->$2", $content);
/*
$content = preg_replace("/\#/", "#", $content);
$content = preg_replace("/\</", "<", $content);
$content = preg_replace("/\>/", ">", $content);
$content = preg_replace("/\(/", "(", $content);
$content = preg_replace("/\)/", ")", $content);
*/
3) 다음 함수 추가(파일의 끝 부분 정도에 하면 됩니다.)
다음 추가
function bad_tag_convert($code)
{
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "<$1$2$3>", $code);
}
8. common.php
}
}
@reset($_COOKIE);
}
}
다음 추가:
unset($_POST['g4_path']);
댓글 7개
멋져요^^
스크랩해놨다가 나중에..
적용해야 겠습니다 ㅋㅋ