PHP 파일 업로드 : 안전하고 신뢰할 수있는 업로드 시스템 구축
키 포인트
<form></form>
$_FILES
업로드 프로세스 스크립트 작성 move_uploaded_file()
php
및 <input>
와 같은 html 양식의 파일 필드에 지정된 이름으로 인덱싱됩니다. 그런 다음 각 파일의 배열에는 다음 색인이 포함됩니다.
$_FILES["myFile"]["name"]
파일을 저장하는 마임 유형. $_FILES["myFile"]["type"]
$_FILES["myFile"]["size"]
전송 중에 생성 된 오류 코드를 저장하십시오. $_FILES["myFile"]["tmp_name"]
함수는 업로드 된 파일을 임시 위치에서 영구 위치로 이동합니다. 이 목적을 위해 $_FILES["myFile"]["error"]
와 같은 함수를 항상 사용해야합니다.이를 위해 추가 점검을 수행하여 파일이 실제로 HTTP 사후 요청을 통해 업로드되도록합니다. 사용자가 제공 한 원본 파일 이름으로 파일을 저장하려는 경우 안전한 지 확인하는 것이 가장 좋습니다. 파일 이름에는 슬래시와 같은 대상 경로에 영향을 줄 수있는 문자가 포함되어 있지 않아야합니다. 이름으로 인해 파일이 기존 파일을 동일한 이름으로 덮어 쓰지 않아야합니다 (응용 프로그램 디자인이 그렇지 않은 한). 비 글자, 번호 또는 매우 제한된 구두점 문자 세트를 밑줄로 바꾸어 안전한 파일 이름을 보장 한 다음 동일한 이름을 가진 파일이 이미 존재할 때 증가 된 숫자를 추가합니다. 다음은 PHP 파일 업로드를 받고 처리하는 예입니다.
에 전화하여 새 파일에 합리적인 액세스가 설정되어 있는지 확인하십시오. move_uploaded_file()
안전 예방 조치 move_uploaded_file()
copy()
rename()
를 사용할 수없는 경우 (함수는 exif 확장을 활성화해야 함)를 사용할 수 있습니다.
<code>file_uploads = On</code>비 이미지 파일의 경우
를 사용하여 Unix 파일 유틸리티를 호출 할 수 있습니다. 파일은 예상 위치에서 알려진 바이너리 서명을 찾아 파일 유형을 결정합니다. move_uploaded_file()
<code>file_uploads = On</code>
<code>upload_tmp_dir = "/tmp" tboronczyk@zarkov:~$ ls -l / | grep tmp drwxrwxrwt 13 root root 40960 2011-08-31 00:50 tmp</code>
요약
위 내용은 Phpmaster | PHP로 파일 업로드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!