파일 확장자 검사 함수 입니다. > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

파일 확장자 검사 함수 입니다. 정보

PHP 파일 확장자 검사 함수 입니다.

본문

만일 스크립트 파일을 확장자를 이미지 확장자로 바꾼다할 지라도 유효성 검사에서 실패하겠죠.

function validate_ext($file, $ext="gif")
{
 $ext = strtolower($ext);
 if (!in_array($ext, array('jpg', 'jpeg', 'png', 'gif', 'zip'))) {
  return false;
 }

 if ($fp = fopen($file, 'rb')) {
  $contents = base64_encode(fread($fp, 30));
  fclose($fp);
 
  switch ($ext) {
   case 'jpeg':
   case 'jpg': $pattern = "/^\/9j\/4AAQSkZJRgABA/"; break;
   case 'png': $pattern = "/^iVBORw0KGgoAAAANSUhEUgAAA/"; break;
   case 'gif': $pattern = "/^R0lGODlh/"; break;
   case 'zip': $pattern = "/^UEsDBBQABAAIA/"; break;
  }

  if (preg_match($pattern, $contents)) {
   return true;
  }
 }

 return false;
}

예를 들어 validate_ext('path/to/img.gif', 'gif') 검사를 했을 때 올바른 확장자의 파일일 경우 true값이 리턴됩니다.

 

추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로