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

사이트에 요상한 업로드파일이 올라와서 말썽입니다 ㅠㅠ

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

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

댓글 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");
}
}

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

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
15년 전 조회 1,009
15년 전 조회 1,370
15년 전 조회 1,159
15년 전 조회 1,187
15년 전 조회 1,505
15년 전 조회 1,048
15년 전 조회 1,084
15년 전 조회 1,011
15년 전 조회 1,171
15년 전 조회 1,011
15년 전 조회 1,448
15년 전 조회 1,133
15년 전 조회 1,107
15년 전 조회 1,321
15년 전 조회 1,020
15년 전 조회 1,081
15년 전 조회 991
15년 전 조회 1,195
15년 전 조회 1,011
15년 전 조회 1,135
15년 전 조회 1,089
15년 전 조회 1,377
15년 전 조회 1,018
15년 전 조회 1,179
15년 전 조회 1,135
15년 전 조회 1,452
15년 전 조회 1,732
15년 전 조회 1,097
15년 전 조회 1,229
15년 전 조회 1,123
15년 전 조회 1,263
15년 전 조회 1,104
15년 전 조회 1,283
15년 전 조회 1,180
15년 전 조회 1,202
15년 전 조회 1,107
15년 전 조회 4,084
15년 전 조회 7,175
15년 전 조회 1,299
15년 전 조회 1,088
15년 전 조회 1,430
15년 전 조회 1,248
15년 전 조회 1,303
15년 전 조회 1,155
15년 전 조회 1,044
15년 전 조회 1,468
15년 전 조회 1,120
15년 전 조회 1,666
15년 전 조회 1,442
15년 전 조회 1,247
15년 전 조회 1,222
15년 전 조회 1,086
15년 전 조회 1,430
15년 전 조회 1,135
15년 전 조회 3,233
15년 전 조회 1,430
15년 전 조회 1,331
15년 전 조회 1,494
15년 전 조회 1,083
15년 전 조회 1,355
15년 전 조회 1,552
15년 전 조회 1,255
15년 전 조회 2,007
15년 전 조회 1,057
15년 전 조회 1,208
15년 전 조회 1,523
15년 전 조회 1,310
15년 전 조회 1,044
15년 전 조회 3,256
15년 전 조회 1,466
15년 전 조회 2,437
15년 전 조회 2,323
15년 전 조회 1,380
15년 전 조회 2,635
15년 전 조회 1,176
15년 전 조회 1,704
15년 전 조회 2,869
15년 전 조회 1,076
15년 전 조회 1,620
15년 전 조회 1,838
15년 전 조회 1,192
15년 전 조회 1,523
15년 전 조회 1,063
15년 전 조회 2,318
15년 전 조회 1,695
15년 전 조회 1,192
15년 전 조회 872
15년 전 조회 959
15년 전 조회 1,381
15년 전 조회 1,463
15년 전 조회 896
15년 전 조회 795
15년 전 조회 1,083
15년 전 조회 1,010
15년 전 조회 2,033
15년 전 조회 871
15년 전 조회 918
15년 전 조회 925
15년 전 조회 1,164
15년 전 조회 2,006