[linux] [file_upload] 파일 *.html *.htm에 관해서
로빈아빠
본문
[file_upload] 파일 *.html *.htm에 관해서
아래의 내용은 계정사용자 입장에서
튜닝(?)한 내용중 파일 업로드 파일 text/html에 관한 내용입니다.
-----------------------------------------------------------------
[file_upload] 파일 *.html *.htm에 관해서
일반적으로 게시판이나 기타 BBS에 파일을 첨부할 경우 적지 않게 text/html 형식의 *.html *.htm 파일이 많이 올라오곤 합니다.
보안의 이유로 올라온 text/html 파일을 강제로 .phps나 .txt 로 마임타입을 바꾸는 경우가 많습니다. 물론 JSBoard(2.0은 확인 안해 봤음)도 이에 해당됩니다.
올라온 text/html 파일에 php코드가 안들어간 순수 HTML코드만 있을 경우 일반 사용자가 보기엔 상당히 불합리하더군요.
그래서 업로드 디렉토리에 한에서 *.html *.htm파일을 php코드가 실행되지 않도록 마임타입을 재조정하니 잘 되더군요..
[조건]
아파치 server config에서 최소한 사용자 계정 디렉토리나 특정 디렉토리에 access control 파일 (이하 '.htaccess')을 사용할 수 있도록 AllowOverride에 최소한 FileInfo 기능을 포함하고 있어야 합니다. 이는 .htaccess파일을 이용해서 Addtype지시자를 사용하기 위함입니다.
예:
AllowOverride FileInfo (또는 All 도 가능)
위와 같은 조건만 만족한다면 사용자 계정에서는 .htaccess 파일을 이용해서 마음대로 마임타입을 조절할 수 있습니다.
만약 이와 같은 조건이 만족하지 않는다면 서버관리자에게 문의해서 부탁하면 조절해 줄겁니다.
아마 대부분 웹호스팅 업체라면 위와 같은 기능을 포함해서 좀더 많은 기능을 .htaccess파일에 사용할 수 있도록 해 놓았을 겁니다.
[사용자 계정]
파일 업로드 디렉토리로 이동한 다음 .htaccess 파일을 만들고 다음과 같이 text/html 마임타입을 재조정합니다.
--- $HOME/path/to/file_upload_dir/.htaccess --------------------------- AddType text/html .html .htm --------------------------------------------------------
꼭 파일 업로드 디렉토리에 적용되는 경우가 아니고 전체나 다른 특정 디렉토리에 적용할 수 있습니다.
이렇게 설정하면 올라온 파일(*.html)에 비록 php 코드가 들어가 있더라도 php코드는 해석하지 않고 웹브라우저로 넘겨줍니다.
실제로 제가 사용하는 .htaccess 파일
--$DocumentRoot/.htaccess ---------------------------------- Options FllowSymLinks MultiViews Order allow, deny Deny from all AddType application/x-httpd-php .php .php3 .ph .lib .inc .conf AddType application/x-httpd-php-source .phps AddType text/html .html .htm php_value auto_prepend_file /home/xxx/xxx/header.php php_value auto_append_file /home/xxx/xxx/footer.php ----------------------------------------------------------------------
참고로)
AllowOverride FileInfo 기능은 해당 디렉토리에 대한 문서 타입을 컨트롤 하는 기능으로 다음과 같은 지시자를 사용가능합니다.
Addtype, DefaultType, ErrorDocument, 기타
아래의 내용은 계정사용자 입장에서
튜닝(?)한 내용중 파일 업로드 파일 text/html에 관한 내용입니다.
-----------------------------------------------------------------
[file_upload] 파일 *.html *.htm에 관해서
일반적으로 게시판이나 기타 BBS에 파일을 첨부할 경우 적지 않게 text/html 형식의 *.html *.htm 파일이 많이 올라오곤 합니다.
보안의 이유로 올라온 text/html 파일을 강제로 .phps나 .txt 로 마임타입을 바꾸는 경우가 많습니다. 물론 JSBoard(2.0은 확인 안해 봤음)도 이에 해당됩니다.
올라온 text/html 파일에 php코드가 안들어간 순수 HTML코드만 있을 경우 일반 사용자가 보기엔 상당히 불합리하더군요.
그래서 업로드 디렉토리에 한에서 *.html *.htm파일을 php코드가 실행되지 않도록 마임타입을 재조정하니 잘 되더군요..
[조건]
아파치 server config에서 최소한 사용자 계정 디렉토리나 특정 디렉토리에 access control 파일 (이하 '.htaccess')을 사용할 수 있도록 AllowOverride에 최소한 FileInfo 기능을 포함하고 있어야 합니다. 이는 .htaccess파일을 이용해서 Addtype지시자를 사용하기 위함입니다.
예:
AllowOverride FileInfo (또는 All 도 가능)
위와 같은 조건만 만족한다면 사용자 계정에서는 .htaccess 파일을 이용해서 마음대로 마임타입을 조절할 수 있습니다.
만약 이와 같은 조건이 만족하지 않는다면 서버관리자에게 문의해서 부탁하면 조절해 줄겁니다.
아마 대부분 웹호스팅 업체라면 위와 같은 기능을 포함해서 좀더 많은 기능을 .htaccess파일에 사용할 수 있도록 해 놓았을 겁니다.
[사용자 계정]
파일 업로드 디렉토리로 이동한 다음 .htaccess 파일을 만들고 다음과 같이 text/html 마임타입을 재조정합니다.
--- $HOME/path/to/file_upload_dir/.htaccess --------------------------- AddType text/html .html .htm --------------------------------------------------------
꼭 파일 업로드 디렉토리에 적용되는 경우가 아니고 전체나 다른 특정 디렉토리에 적용할 수 있습니다.
이렇게 설정하면 올라온 파일(*.html)에 비록 php 코드가 들어가 있더라도 php코드는 해석하지 않고 웹브라우저로 넘겨줍니다.
실제로 제가 사용하는 .htaccess 파일
--$DocumentRoot/.htaccess ---------------------------------- Options FllowSymLinks MultiViews Order allow, deny Deny from all AddType application/x-httpd-php .php .php3 .ph .lib .inc .conf AddType application/x-httpd-php-source .phps AddType text/html .html .htm php_value auto_prepend_file /home/xxx/xxx/header.php php_value auto_append_file /home/xxx/xxx/footer.php ----------------------------------------------------------------------
참고로)
AllowOverride FileInfo 기능은 해당 디렉토리에 대한 문서 타입을 컨트롤 하는 기능으로 다음과 같은 지시자를 사용가능합니다.
Addtype, DefaultType, ErrorDocument, 기타
관련링크
댓글목록
등록된 댓글이 없습니다.