파일업로드 하는 곳의 보안문제좀 알려주세요 ^^

· 2010-11-18 (목) 12:52:36 · 1876 · 4
사이트에 요상한 업로드파일이 올라와서 말썽입니다 ㅠㅠ

업로드 하는 곳에 파일명검사(제한)를 하면 된다는 팁을 얻었는데요.

보통 어떤 파일만 올라가도록 하시는지 고수님들의 팁을 듣고싶습니다. 도와주세요 ㅠㅠ
|

댓글 4개

#cat > .htaccess
php_admin_flag engine off
#chmod 404 .htaccess
if($_FILES['upload_file']['name'][$i]){//if 1
$file=$_FILES['upload_file']['tmp_name'][$i];
$file_name=$_FILES['upload_file']['name'][$i];
$file_size=$_FILES['upload_file']['size'][$i];
$file_name_div=explode(".",$file_name);
$file_dot_check=$file_name_div[sizeof($file_name_div)-1];
if($file_size=="0") message("업로드".($i+1)."에 업로드하실 파일의 경로가 올바르지 않습니다.","-1");
if(preg_match("/.php$|.ph$|.php3$|.php4$|.jsp$|.asp$|.pl$|.js$|.html$|.htm$|.phtml$|.shtm$|.ztx$|.dot$|.cgi$|.inc$|.txt$|.exe$|.com$|.bat$/i", $_FILES['upload_file']['name'][$i]) || substr($_FILES['upload_file']['name'][$i],0,1)=='.'){
message("업로드가 불가능한 파일(확장자)입니다.\\n\\n파일을 압축하여 업로드를 하시기 바랍니다.","-1");
}
}

구닥다리지만 잘 돌갑니다.
우선 정책을 정하셔야 될 것 같은데요.
업로드시 어떤 파일들만 허락할 것인지 용도가 무엇인지
따라서 제한을 해야 될 것 같습니다.
이미지만 업로드하는 게시판이 있을 수도 있고 문서파일만 업로드 할 수 있을 수도 있고
그리고 업로드 제한을 서버단에서 할 수도 있고 클라이언트 자바스크립트에서도 제어할 수도 있습니다.
이점 유의해서 작업을 하시면 될 것 같네요.
좋은 말씀 갑사합니다 ^^
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

202,882건
+
제목 글쓴이 날짜 조회
10-11-23 조회 1,879
10-11-23 조회 2,118
10-11-22 조회 1,881
10-11-22 조회 1,913
10-11-18 조회 2,358
10-11-18 조회 1,877
10-11-18 조회 2,229
10-11-18 조회 2,257
10-11-17 조회 2,063
10-11-16 조회 3,017
10-11-16 조회 2,074
10-11-15 조회 2,171
10-11-12 조회 2,311
10-11-11 조회 4,331
10-11-11 조회 1,891
10-11-10 조회 1,900
10-11-10 조회 1,893
10-11-09 조회 2,346
10-11-07 조회 2,309
10-11-06 조회 2,119