어떤 확장자가 그 확장자가 맞는지 확인하려면 어떻게 해야 되나요?

안녕하세요. 웹 개발 중에 파일을 업로드하는 기능을 넣었는데요. 그런데 파일 확장자는 제한해 두었지만 확장자를 바꾸어서 올릴 수가 있을 것 같더라고요. 어떠한 확장자가 그 확장자가 맞는지 확인하기 위해서는 어떠한 방법을 사용할 수 있을까요? 예컨대 .jpg가 JPEG 파일인지 확인하는 법이요.

1개의 답변이 있어요!

  • 보통은 파일의 확장자로 하는게 일반적입니다.

    그게 웹코딩하기 가장 쉽고 편리하기 때문입니다.

    소스코드의 줄수도 줄일수 있고 말이죠.

    하지만 부득이하게 업로더가 확장자를 무단으로 변경하여 올릴경우에 대비한다면

    다음과 같은 방법으로 원래의 파일을 검증할수 있습니다.

    여기서는 자세하게 기술을 못하므로 대략적인 내용만 기술하겠습니다.

    • 파일의 첫머리, 헤더를 확인하는 방법입니다.

    이 헤더를 통해서 파일의 원래 확장자를 알아낼수 있습니다.

    • 두번째는 MINE 타입을 확인하는 방법입니다.

    보통 MINE 타입은 소스코드의 Content-Type의 머리부분에 표기되어 있습니다.

    이 두가지 방법으로 파일의 원래 확장자를 알아낼수 있지만

    확장자 변경으로 사이트 운영에 지장을 초래하는정도가 아니라면 그냥 확장자 정도로

    간단하게 걸러내는것도 나쁘지 않은 방법입니다.

    자바스크립트나 아니면 파일 업로드할때 확장자로 검출해서 걸러내는 방법이 대표적.

    일부러 파일의 확장자를 변경해서 올리는 사람이 과연 몇명이나 될지 생각해 본다면 말입니다.