[php] 파일업로드 확장자 체크하기
자주필요한것 같아서 올려봅니다.
[출처] http://habony.tistory.com/219#.U3oAGtJ_trA
예제 (ex #1
| <?php $filename = "test.php."; $ext = array_pop(explode(".", strtolower($filename))); if(@ereg($ext, "php|php3|php4|htm|inc|html")){ echo "죄송합니다. php, html 파일은 업로드가 제한됩니다."; } ?> |
아무 문제가 없어 보이지만, 실은 php. 나 htm. gif. 등 모두 실행 가능한 파일임을 알아 둘 필요가 있습니다. 그러므로 다음 같이 한번더 체크해서 공격자가 우회하지 못하게 해주는게 좋습니다.
예제 (ex #2
| <?php $filename = "test.gif.bmp.php."; $ext = explode(".", strtolower($filename)); $cnt = count($ext)-1; if($ext[$cnt] === ""){ if(@ereg($ext[$cnt-1], "php|php3|php4|htm|inc|html")){ echo "죄송합니다. php, html 파일은 업로드가 제한됩니다."; } } else if(@ereg($ext[$cnt], "php|php3|php4|htm|inc|html")){ echo "죄송합니다. php, html 파일은 업로드가 제한됩니다."; } ?> |
댓글 2개
11년 전
파일 업로드시 확장자만 체크 하는것 말고
좀더 보안을 강화 할 수 있는 방법 없을 까요??
확장자 체크는 그냥 확장자만 바꾸면 되는 일인지라.
좀더 보안을 강화 할 수 있는 방법 없을 까요??
확장자 체크는 그냥 확장자만 바꾸면 되는 일인지라.
11년 전
그렇다면 mime type을 체크하면 될거 같습니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 11208 |
JavaScript
글자 깜박임 blink 익스에서 구현
3
|
| 11205 | |
| 11202 | |
| 11198 |
JavaScript
select선택에따른추가select동적으로보여주기
3
|
| 11197 | |
| 17717 | |
| 11194 | |
| 11192 |
JavaScript
두 종류의 메뉴셋 사용시 메뉴선택 표시 문제
1
|
| 11190 | |
| 17708 | |
| 20659 | |
| 20653 | |
| 17702 |
견적서
견적서의뢰 ....
5
|
| 17693 | |
| 11186 | |
| 20649 | |
| 11184 | |
| 11179 | |
| 11177 | |
| 11176 |
JavaScript
도와주세요~
|
| 20648 | |
| 20643 | |
| 20639 | |
| 11175 |
JavaScript
자바스크립트 입문자인데..이미지 변경 스크립트..좀 도와주세여
|
| 11167 |
jQuery
list sort에 좋은것
7
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기