개발자의 끄적끄적

[php] 파일 업로드 금지 확장자 체크 본문

개발/php

[php] 파일 업로드 금지 확장자 체크

효벨 2019. 11. 2. 03:00
728x90
반응형

[php] 파일 업로드 금지 확장자 체크

 

    public function deny_chk($file_name) {
        $denytype = array("php","php3");
        $flag = false;
        $file_arr = array();

        if( @trim($file_name) != "" ) {
            $file_arr = explode('.',strtolower($file_name));
        }

        if( @count($file_arr) > 0 ) {
            foreach( $file_arr as $chk_data ) {
                foreach( $denytype as $deny ) {
                    if( strpos( $chk_data, $deny ) !== false ) {
                        $flag = true;
                    }
                }
            }
        }
        return $flag;
    }

 

파일 업로드 시,

$file_name = $_FILES['upload']['name'];
$deny_flag = deny_chk($file_name);
if( $deny_flag ) {
    // 금지어가 속해 있을때
}else{
    // 금지어가 속해있지 않을때
}

 

위처럼 함수를 호출해서 리턴받은 결과가

true 면 금지어가 속해있다고 판단하고

false 면 통과하는 로직을 짜면 됩니다!

 

금칙어를 더 추가 하고 싶으면 denytype 의 배열안에 추가해서

사용하시면 됩니다!

 

 

저는 파일명 자체에 저 금지어가 안속해 있도록 만든거라

참고하실때에는 충분히 수정 및 테스트 하고 참고하세용!!

 

반응형
Comments