application:apache:noindexes
APACHE 설정에서 디렉토리 리스트(Index of ...) 숨기기
개요
웹사이트 방문자들이 파일이나 이미지를 다운로드할때 보여지는 주소를 통해 파일리스트를 볼 수 있다.
개발서버나 개발을 막시작하려고 할때에는 유용하지만, 운영시에는 보안상 매우 위험하다.
-
디렉토리 리스트 보기를 막기 위해서 다음 중 한가지를 선택해야 한다.
<color blue>각 디렉토리마다 index 파일을 넣기</color>
<color blue>Apache <Directory> 설정을 바꾸기</color>
Global 설정
Local(Virtual) 설정
Directory 설정
기본형식
디렉토리 리스트가 보이는 상태 (수정전)
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
</ Directory>
디렉토리 리스트가 보이지 않는 상태 (수정후)
<Directory />
Options FollowSymLinks
AllowOverride All
</ Directory>
혹은
<Directory />
Options -Indexes FollowSymLinks
AllowOverride All
</ Directory>
Virtual Hosting
아파치설정에서 Virtual Hosting 을 하고 있다면 Apache <Directory> 설정 바꾸기를 추천한다.
특정 디렉토리만 리스트 보이기
특정 디렉토리만 리스트가 보이게 설정할 수 있다.
아래는
http://siteurl/www/dirlist 디렉토리가 보이게 설정된 예이다.
<Directory /www/dirlist>
Options Indexes FollowSymLinks
AllowOverride All
</ Directory>
<Directory> 내부에 -Indexes 옵션 무력화 시키기
디렉토리 내부에 .htaccess 파일을 통해 디렉토리 리스트를 볼 수 있다.
파일에 다음 한줄만 추가해 주면 된다.
Options Indexes
설정예제
아래는 adminschool.net의 apache 설정파일이다.
http://adminschool.net 의 모든 디렉토리 보기는 막혀있고,
http://adminschool.net/images 만 디렉토리 보기가 허용된 상태이다.
<VirtualHost *:80>
ServerName www.adminschool.net
ServerAlias adminschool.net
DocumentRoot /html/adminschool/
ServerAdmin webmaster@adminshcool.net
<Directory /html/adminschool>
Options -Indexes
</Directory>
<Directory /html/adminschool/images/>
Options Indexes
</Directory>
<IfModule mod_suphp.c>
suPHP_Engine on
</IfModule>
ErrorLog /var/log/apache2/www.adminschool.net-error.log
CustomLog /var/log/apache2/www.adminschool.net-access.log combined env=!dontlog
</VirtualHost>
application/apache/noindexes.txt · 마지막으로 수정됨: 2010/09/24 04:38 저자 starlits