나의 즐겨찾기 | 블로그홈 | 바로가기 바로가기 | 로그인
아는만큼 보인다
블로그  |  사진갤러리  |  동영상갤러리 방명록  |   즐겨찾기 추가

페이지 인덱싱 막는 법 :
<Directory "E:/APM_Setup/htdocs">
    Options FollowSymLinks MultiViews ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
아파치에서 액서스 제어 - 디렉터리 옵션
보통 아파치에서 기본값으로 가지는 디렉토리에 대한 액서스(권한)를 제어 하는 선언을 포함하는 설정파일은 다음과 같습니다.
  • httpd.conf (주 서버 설정 파일)
  • access.conf (액서스 설정 파일)
  • .htaccess 
사실 httpd.conf 설정파일만 가지고도 디렉토리별로 권한을 제어 하는 것이 가능하며 Access.conf 나 .htaccess 파일을 이용하지 않는 것이 서버의 성능도 높일 수 있습니다. httpd.conf 파일이 너무 길다고 느낀다면, 액서스를 제어 하는 부분을 Access.conf 에서 따로 선언할 수 있습니다. 또한 httpd.conf 나 access.conf 를 수정하였을 경우에는 서버를 재시작 해야 하지만 .htaccess 파일에서 선언 내용이 바뀌었을 경우에는 실시간으로 적용이 되어 아파치를 재시작 할 필요가 없습니다.
다음은 아파치 주 환경 설정(httpd.conf) 에서 액서스설정파일(access.conf,.htaccess)을 지정하는 것입니다.
액서스 설정 파일 선언 ( AccessConfig )
AccessConfig 선언에 의해서 httpd.conf 파일에 선언된 내용을 적용한 후 액서스를 제어할 환경 설정 파일을 지정할 수 있습니다. 기본값은 access.conf 로 되어 있지만 사용자가 임의의 파일이름/위치 로 바꿀 수 있습니다. 드라이브명으로 시작하지 않는 경우, 설정파일의 위치는 서버루트에 상대적인 경로(path)가 됩니다. 
AccessConfig conf/access.conf
UNIX 와 같은 경우는 다음과 같이 써서 액서스 파일을 참조 하지 않도록 지정할 수 도 있지만 win32 용은 해당되지 않습니다.
AccessConfig /dev/null
(아파치 배포버전에는 httpd.conf 에서 주석으로 nul 이라고 적으면 된다고 되어 있지만, nul 이라는 파일을 찾을 수 없다는 에러를 출력합니다.)
액서스 파일 이름 선언 ( AccessFileName )
AccessConfig 선언에 의해 지정된 액서스설정파일을 수정했을 경우는 서버를 재시작 해야만 적용이 되지만 AccessFileName 에 의해서 지정된 액서스파일은 수정하자마자 적용 될 수 있습니다. 기본값으로는 다음과 같이 .htaccess 이며 윈도우즈 에서는 파일이름을 .으로 시작하게 만들기가 어렵습니다. #haccess 와 같이 바꿔줄 수도 있습니다.
AccessFileName .htaccess
액서스파일을 이용할 경우, d:/doc_root/dir1/dir2  라는 디렉토리에 대해서 아파치 서버는 d:/doc_root/.htaccess 파일을 읽어 액서스권한을 적용하고, d:/doc_root/dir1/.htaccess 라는 파일을 찾아 읽어들여 적용하고, 마지막으로 d:/doc_root/dir1/dir2/.htaccess 파일을 찾아 읽어 들이고, 적용하게 됩니다. 이것은 서버 성능을 저하 시킬 수도 있습니다 .이 기능을 사용하지 않으려면,
<Directory /> 
AllowOverride None 
</Directory>
과 같이 AllowOverride 선언을 사용해서 .htaccess 파일에 선언된 액서스정보를 참고하지 않도록 할 수 있습니다.
AllowOverride 의 옵션  ( 부분적으로 참고 가능 )
none  어떤 액서스 정보도 참고 하지 않음
AuthConfig   인증 선언에 대한 허용 
 (AuthName, AuthType, require,
  AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthUserFile, etc.).
FileInfo  문서 형식을 제어하는 선언의 허용
 (DefaultType, ErrorDocument,
   AddEncoding, AddLanguage, AddType, LanguagePriority, etc.).
Indexes  디렉토리 인덱싱을 제어하는 선언을 허용
 (AddDescription, AddIcon, AddIconByEncoding, AddIconByType,
  DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName,
  IndexIgnore, IndexOptions, ReadmeName, etc.).
Limit  호스트 액서스를 제어하는 선언에 대한 허용
 (allow, deny and order).
Options  특별한 디렉토리 기능에 대해서
 (Options and XBitHack).
All  모든 액서스 정보를 참고함.
 
<Directory> 선언
디렉토리 기능 선언. httpd.confaccess.conf 설정파일에서는 <Directory> 와 </Directory> 는 디렉토리의 그룹을 둘러쌓아서  디렉토리의 권한을 제어합니다. 여기서 지정된 디렉토리는 그 디렉토리와 하위 디렉토리에 적용됩니다. .htaccess 파일은 해당 디렉토리에 위치해 있으므로 <Directory> 와 </Directory> 를 이용하여 둘러쌓는 것을 생략합니다. 이 곳에서는  directory context 로 혀용되는 모든 선언을 사용할 수 있습니다. Directory 는 디렉토리의 전체경로(실제디렉토리)를 써주거나 와일드 카드를 사용할 수 있습니다. 와일드 카드 사용에 있어서, '?' 는 하나의 문자와 매치되고 '*' 는 어떤 문자로도 대치될 수 있습니다. Apache 1.3 이상에서는 `[]' 문자열을 사용할 수도 있으며 또한 와일드 카드없이는 `/' 문자에 매치 되지 않습니다. 예를 들면:
<Directory "d:/usr/local/httpd/htdocs">
Options Indexes FollowSymLinks
</Directory>
실제경로 "d:/usr/local/httpd/htdocs" 에 디렉토리 목록을 보여주는 옵션을 주는 선언 입니다.
<Directory ~ "^/www/.*/[0-9]{3}">
이것은 /www/ 하위에 있는 디렉토리중 3개의 숫자로 구성된 디렉토리와 일치 합니다.
만약 복수의 디렉토리 섹션에있어서(non-regular expression) 적용되는 순서는 루트(가장 짧은 디렉토리)가 가장 먼저 적용되며 하위디렉토리 에 대한 선언이나 해당디렉토리의 액서스(접근)을 제어하는 파일(기본값은 .htaccess) 에 의해서 다시 적용됩니다. 아래의 예를 가지고 설명을 하자면,
<Directory />
 AllowOverride None
</Directory>
<Directory /home/*>
 AllowOverride FileInfo
 </Directory>
 /home/web/dir/doc.html 라는 문서에 대해서: 선언 AllowOverride None 이 적용(disabling .htaccess 파일에 의해서 액서스 제어가 불가). 선언 AllowOverride FileInfo 가 적용 (directory /home/web 에 대해서) . /home/web/.htaccess 에 선언된 파일정보에 대해서만 적용됨
아파치는 기본값으로 - /(루트)  , 모든 접근에 대해 허용 하도록 되어 있습니다. 보안상 다음과 같이 바꾸어 주고, 모든 접근을 허용할 디렉토리에서만 Allow from All 을 사용하도록 합니다.
<Directory />
 Order Deny,Allow
 Deny from All
 </Directory>
<File> 선언
디렉토리 선언과 마찬가지로 <File> 과 </File> 로 묶어서 파일의 권한을 설정합니다. 와일드 카드 사용도 가능합니다.
이 Options 선언은 각각의 디렉토리의 기능을 제어합니다.option 을 None,으로 지정하면, 아무기능도 사용할 수 없습니다. 아래는 옵션으로 주어 질수 있는 값들 이며, +/- 를 사용할 수 있고, 중복해서 사용할 수 도 있습니다.
All  MultiViews 를 제외한 모든 옵션이 가능. 기본값입니다.
ExecCGI  CGI scripts 를 실행할 수 있는 권한을 허용합니다.
FollowSymLinks  서버는 해당 디렉토리에서 상징적인 링크를 따라가게 됩니다.
 Note: 서버가 상징적인 링크를 따라가더라도 <Directory> sections 에 대응하는 경로는 바뀌지 않습니다..
 Note: 이 옵션은 <Location> section 에서는 무시 됩니다.
Includes  SSI(Server-side includes)를 허용합니다.
IncludesNOEXEC  SSI(Server-side includes)는 허용하지만 #exec 명령과 CGI 스크립트의 #include 는 허용하지 않습니다.
Indexes  파일이름을 쓰지않고 디렉터리로만 이루어진 URL의 요청에 대해, 그 디렉터리에는 DirectoryIndex (e.g., index.html) 파일이 존재 하지 않는 경우, 서버는 이 디렉터리의 목록을 보여 줍니다..
MultiViews  Content negotiated MultiViews 를 허용합니다. (확장자가 생략되었을 경우 매치되는 파일 목록 또는 파일을 보여줌)
SymLinksIfOwnerMatch  서버는 단지 같은 사용자가 소유하고 있는 파일이나 디렉터리 내에서만 상직적인 링크를 따라 갑니다.
 Note: 이 옵션은 <Location> section 에서는 무시 됩니다.

여러개의 옵션을 디렉토리에 적용할 경우, 상위 디렉터리에서 주어진 옵션은 하위 디렉터리까지 권한이 부여 됩니다. CGI 실행권한을 상위 디렉터리에서 주어졌는데 그 하위 디렉터리에서는 CGI 실행 권한을 주고 싶지 않다면 -ExecCGI 라는 옵션으로 CGI를 실행하지 않도록 할 수 있습니다.
+/- 기호를 사용하지 않은 예입니다.:
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options Includes
</Directory>
이런결우 단지 Includes 기능만 /web/docs/spec 디렉터리에서 지정되었습니다. 어째든 두번째 선언되는 옵션은 다음의 예에서 처럼 +/- 를 사용해야 합니다.:
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options +Includes -Indexes
</Directory>
이경우 FollowSymLinks 와 Includes 기능이 /web/docs/spec directory 에 주어 졌습니다..
Note: Using -IncludesNOEXEC 나 -Includes 의 사용은 불가능 합니다. SSI(server-side includes)는 이전의 셋팅과는 아무런 상관이 없습니다.
아무런 선언이 없는 경우, 기본값인 All 로 셋팅되어 지게 됩니다.

댓글쓰기

댓글쓰기 입력폼

포스트 목록 닫기

목록보기
 
전체 글보기(62)
잡다..
리누기
내머릿속의..
최근 글
mysql_fetch_..
as
mysql root 패..
PHP 세션 에러
바탕화면 아이콘 크기 ..
지난 글
2009년 1월
2009년 2월
2009년 3월
2009년 4월
2009년 5월
2009년 6월
2009년 7월
2009년 8월
2009년 9월
2009년 10월
2009년 11월
2009년 12월
최근 댓글 전체보기
huanhang2004..
mysql 버전업뎃 되..
시키는대루 햇는데 ..
真棒!!(..
좋은 메뉴네요 스크랩해..
최근 참조글 전체보기
리눅스커널2.6에서 한
 즐겨찾기
 즐겨찾기 글모음
다녀간 블로거 더보기
- jd1000
- 강아지똥
- rudehdi
- redeemerlcc
- ww
2009 12월
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
SERVER™ (fxpnfo)
프로필     
 인기도 :
 이 블로그 점수주기
오늘 전체
방문자 54 40479
구독자 0 2
댓글 0 5
참조글 0 1
HanRSS 로 구독하기Fish 로 구독하기
개설일 : 2004/08/28