워드프레스 허용되지 않는 확장자 업로드하는 방법

TIP : 파일 업로드시 ‘이 파일 유형은 보안 사유로 허용되지 않습니다.’ 문제를 해결해보자.

ZIP, PDF, HWP와 같은 파일 확장자를 워드프레스의 미디어에 업로드할 경우 위와 같은 메시지를 볼 수 있는데요.

워드프레스의 업로드 기능은 파일을 업로드할 때 워드프레스의 코어(core)에서 파일의 mime 타입을 체크해 이미지, 영상, 음원 파일을 제외한 대부분의 파일을 업로드하지 못하게 되어 있습니다.

워드프레스는 웹서버만 있다면 누구나 구축할 수 있지만 워드프레스의 보안에 허점이 있거나 공격을 당할 때 서버에 관련된 지식이 적다면 사이트 전체에 문제가 생길 수 있기 때문에 워드프레스의 보안이 상당히 보수적으로 되어 있어 생기는 불편함인데요.

워드프레스가 업로드하는 파일을 체크할 때 mime type을 체크한다고 했는데, 워드프레스의 코어에서 특정 파일의 mime type을 허용하게 설정한다면 원하는 파일을 워드프레스에 업로드할 수 있습니다.

WP Add Mime Types 플러그인 활용

How To Upload WordPress Disallowed Extensions 2
WP Add Mime Types 플러그인 설치

가장 간단한 방법은 WP Add Mime Types 플러그인을 사용하는 것입니다.

워드프레스 관리자 페이지에서 플러그인 > 새로 추가하기 페이지로 이동한 다음 우측 상단의 검색창에 WP Add Mime Types를 검색해 설치한 다음 활성화합니다.

How To Upload WordPress Disallowed Extensions 3
플러그인 활성화시 기본적으로 업로드 활성화되는 파일 타입들

워드프레스 관리자 메뉴에서 설정 > Mime Type Settings으로 이동하면 설치한 플러그인을 설정할 수 있습니다.

Mime Type Settings 화면 상단을 보면 List of allowed mime types and file extensions by WordPress 항목이 있는데, 여기에 있는 파일 리스트는 플러그인을 활성화함과 동시에 업로드가 허용되는 파일 확장명을 설명한 것입니다.

csv, pdf, zip 파일과 같이 자주 사용하는 대부분의 확장자가 기본으로 등록되어 있기 때문에 추가적인 설정 없이 플러그인을 활성화하는 것으로 업로드가 허용됩니다.

How To Upload WordPress Disallowed Extensions 4

하지만 hwp와 같이 국내에서만 사용하는 파일 확장자는 직접 등록을 해야하는데요.

세팅 화면 하단에 Add Values를 보면 추가적으로 mime type을 입력할 수 있는 부분이 있으며 이 부분에 hwp 파일의 mime 타입을 추가해줍니다.

hwp = application/haansofthwp

이외에도 다른 확장자를 업로드하고 싶다면 구글에서 확장자명 + mime types로 검색해 찾아 mime 타입을 추가하면 되겠습니다.

function.php 수정하기

function upload_mimes( $add_mimes )
{
$add_mimes['zip'] = 'application/zip';
$add_mimes['hwp'] = 'application/hangul';
return $add_mimes;
}
add_filter( 'mime_types', 'upload_mimes' );

플러그인을 사용하지 않으려면 워드프레스 테마 설정 파일인 function.php를 이용해서도 mime types를 추가할 수 있습니다.

외모 > 테마편집기로 이동해 테마 파일에서 function.php를 선택한 다음 위 코드를 직접 추가해서 특정 파일 확장자의 업로드를 허용하게 할 수 있습니다.

위 예시 코드는 zip 파일과 hwp 파일의 mime types에 추가해 업로드할 수 있게 설정하는 것입니다.

$add_mimes['hwp'] = 'application/hangul';

위 부분의 확장자와 mime type을 추가적으로 입력해 허용되는 파일 확장자를 늘릴 수 있으니 수정해서 사용하시길 바랍니다.