타

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

· 2010-11-18 (목) 12:52:36 · 944 · 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");
}
}

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

개발자톡

1,532건
+
제목 글쓴이 날짜 조회
10-12-18 조회 654
10-12-17 조회 850
10-12-17 조회 820
10-12-14 조회 875
10-12-14 조회 640
10-12-14 조회 853
10-12-13 조회 928
10-12-13 조회 1,306
10-12-13 조회 693
10-12-11 조회 877
10-12-09 조회 830
10-12-07 조회 1,071
10-12-06 조회 750
10-12-05 조회 970
10-12-04 조회 684
10-12-03 조회 814
10-12-02 조회 769
10-12-01 조회 779
10-11-26 조회 802
10-11-25 조회 833
10-11-25 조회 846
10-11-23 조회 868
10-11-22 조회 984
10-11-22 조회 770
10-11-18 조회 945