[보안] 첨부파일 등록시 신경쓸 것들 > 기술자료 | 해피정닷컴

[보안] 첨부파일 등록시 신경쓸 것들 > 기술자료

본문 바로가기

사이트 내 전체검색

[보안] 첨부파일 등록시 신경쓸 것들 > 기술자료

PHP [보안] 첨부파일 등록시 신경쓸 것들

페이지 정보


본문

파일업로드를 할 때 form 에서 사용된 file control 이름이 attach 라고 하고, 

이를 처리하기 위해 $attach, $attach_name, $attach_size, $attach_type 등을 바로 쓰게되면 
편법을 써서 서버의 파일을 빼낼 수 있는 위험이 있기 때문에 이를 방지하기 위한 코딩 방법임 

▶ is_uploaded_file() 함수 사용 
    정말 업로드된 파일인지 확인 

    사용 예) 
    if (!is_uploaded_file($_FILES['attach'])) { 
        exit; 
    } 


▶ 변수 명 지정 방식 

파일 이름 
$_FILES['attach']['name'] 

파일 종류 (예: "image/png") 
$_FILES['attach']['type'] 

파일 크기 
$_FILES['attach']['size'] 

임시 디렉토리에 저장된 이름 
$_FILES['attach']['tmp_name'] 

에러 코드 
$_FILES['attach']['error'] 

    UPLOAD_ERR_OK (0) - 업로드 성공 
    UPLOAD_ERR_INI_SIZE (1) - php.ini 에서 제한한 MAX_FILE_SIZE 초과 
    UPLOAD_ERR_FORM_SIZE (2) - HTML 폼에서 제한한 MAX_FILE_SIZE 초과 
    UPLOAD_ERR_PARTIAL (3) - 파일의 일부분만 업로드 되었음 
    UPLOAD_ERR_NO_FILE (4) - 업로드된 파일이 없음 

    상수는 PHP 4.3.0 이상 부터 지원됨, 이전버전은 숫자로 지원 

$_FILES[] 는 PHP 4.0.0 이상 부터 지원됨 
error 속성은 PHP 4.2.0 이상 부터 지원 

$_FILES[] 대신 $HTTP_POST_FILES[] 로 써도 됨 


▶ 파일 복사 

파일을 복사하기 위해 

copy($_FILES['attach'], $dest_file); 
를 사용하는 대신 

// 파일을 임시폴더에 저장하기 때문에 파일을 원하는 디렉토리로 옮겨준다. (박인규) 
move_uploaded_file($_FILES['attach']['name'], $dest_file); 
을 사용 


참고자료
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=15573

댓글목록

등록된 댓글이 없습니다.


Total 195건 9 페이지
  • RSS
기술자료 목록
35
PHP   13817  2007-10-02 08:50  
34
PHP   39164  2007-09-06 20:23  
열람
PHP   17331  2007-08-15 19:39  
32
PHP   21748  2007-08-04 07:22 ~ 2020-02-08 20:56  
31
PHP   22330  2007-07-23 22:58 ~ 2019-01-11 23:03  
30
PHP   16799  2007-07-20 08:21  
29
PHP   21607  2007-06-28 17:40  
28
PHP   20343  2007-06-07 21:25 ~ 2024-03-19 17:26  
27
PHP   16657  2007-05-28 21:12  
26
PHP   21548  2007-05-05 04:48  
25
PHP   37525  2006-12-17 00:24  
24
PHP   27757  2006-11-04 07:22 ~ 2020-10-05 12:20  
23
PHP   24162  2006-10-28 11:21 ~ 2018-04-10 04:32  
22
PHP   21317  2006-09-30 18:43 ~ 2019-02-19 16:29  
21
PHP   21275  2006-08-05 21:30 ~ 2022-03-03 13:46  
20
PHP   17489  2006-08-05 14:45 ~ 2024-02-01 10:32  
19
PHP   18014  2006-08-04 22:47 ~ 2007-07-21 00:00  
18
PHP   48820  2006-08-03 14:58 ~ 2024-02-20 11:14  
17
PHP   19548  2006-07-11 20:07 ~ 2024-10-18 09:37  
16
PHP   14131  2006-07-01 11:56 ~ 2023-09-18 08:16  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.