2011-09-16 3 views

답변

1

지원되는 파일 형식인지 여부는 알 수 있습니다. 실제로 파일의 헤더 바이트를 파싱하므로 매우 신뢰할 수 있습니다.

PHP에 내장 된 가장 좋은 방법입니다. ImageMagick'sidentify 같은 명령

고급 도구가 본질적으로 동일 할 - 당신이 getimagesize()에서 지원하는 것보다 더 많은 파일 형식을 지원해야하는 경우에만이를 고려 (자신의 목록은 IMAGETYPE_* 상수, here입니다).

2

getimagesize()은 파일이 이미지라는 믿을만한 표시입니다.

이미지에 유효한 헤더가 있는지 확인합니다.

실제 이미지 데이터에 손상이 있는지, 일반적으로 이미지가 엉망인 것처럼 보이는지 또는 이미지를로드하는 과정에서 오류가 있는지를 판단하지 않습니다.

파일이 유효한 이미지 파일 일 수도 있지만 메타 데이터, 이미지 데이터 또는 이미지 데이터의 끝 부분에있는 다른 데이터를 숨길 수도 있습니다. 그래서 getimagesize()는 유효한 이미지를 가지고 있다고 말할 수 있지만 반드시 그 파일이 다른 유형으로 유효하지 않다는 것을 의미하지는 않습니다. JAR 및 ZIP 파일은 파일의 끝에서부터 읽기 때문에 파일이 유효한 이미지와 유효한 JAR/ZIP 파일 일 수 있으며 JAR 파일은 GIFAR exploit의 기반 인 브라우저에서 실행 가능합니다.

+0

GIFAR 익스플로잇의 헤드 업에 대해 감사 드리며, 그 점에 대해 몰랐습니다! – ChrisR

관련 문제