PHP에서 업로드된 파일 유형을 정확하게 확인하는 방법
온라인 파일 공유 및 업로드의 인기가 높아짐에 따라 파일 확인 업로드된 파일 유형은 필수적인 보안 및 데이터 무결성 측정입니다. PHP에는 이를 수행하는 데 사용할 수 있는 여러 가지 방법이 있습니다. 그러나 언급하신 옵션에는 제한이 있습니다.
PHP 내장 함수: 제한
is_uploaded_file() 및 move_uploaded_file() 함수는 파일이 있는지 여부만 확인합니다. 업로드되었습니다. 파일 형식에 대한 정보는 제공하지 않습니다.
MIME 유형 검사: 결함이 있고 변경 가능
MIME(다용도 인터넷 메일 확장) 유형을 사용하여 파일을 식별할 수 있습니다. 하지만 부정확하거나 스푸핑되는 경우가 많습니다. 브라우저와 운영 체제는 MIME 유형을 다르게 해석할 수도 있습니다.
확장자 검사: 쉽게 변경 가능
파일 확장자를 확인하는 것도 마찬가지로 신뢰할 수 없습니다. 사용자가 변경하기 위해 파일 이름을 쉽게 바꿀 수 있기 때문입니다. 확장명.
해결책: MIME 유형 및 Fileinfo
파일 형식을 정확하게 확인하려면 PHP의 mime_content_type 또는 Fileinfo 확장자를 사용하는 것이 좋습니다. 이 명령은 헤더나 확장자에 의존하지 않고 파일의 내용을 검사합니다.
system("file -bi $uploadedfile")
을 사용하는 대체 방법 system("file -bi $uploadedfile") 명령은 파일 유형을 결정하는 데에도 효과적일 수 있습니다. 그러나 특히 파일이 손상되었거나 시스템에 필요한 도구가 설치되어 있지 않은 경우 결과가 항상 정확하지는 않을 수 있습니다.
추가 고려 사항
In 논의된 방법 외에도 다음은 파일 형식 확인에 대한 몇 가지 일반적인 팁입니다.
위 내용은 PHP에서 업로드된 파일의 유형을 어떻게 정확하게 결정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!