Contents

조회 수 13206 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
1. SSI 환경 설정

   $ vi Apache_Home/conf/http.conf
     DirectoryIndex index.html index.htm index.shtml index shtm         # 디렉토리에서 우선적으로 찾는 파일
     <Directory "/usr/local/apache/htdocs">
       Options ExecCGI
       Options Includes                # 이것을 추가하고 아래 두파일을 편집한다
       AllowOverride None
       Order allow,deny
       Allow from all
     </Directory> 

   $ vi Apache_Home/conf/srm.conf
     AddHandler    server-parsed    .shtml
     AddType       text/html         shtml

   $ vi Apache_Home/conf/access.conf
     <Directory /usr/local/httpd/htdocs>
       Options Indexes FollowSymLinks
       Options Includes                     # 이 옵션을 추가시켜야 SSI 명령어 사용이 가능하다
       AllowOverride None                  # All 로 설정이 되어 있어야 .htaccess 파일 사용자도 사용이 가능하다.        
       order allow,deny
       allow from all
     </Directory>

   # 참고로 exec 를 제외한 SSI 를 적용하고자 할때는 Options IncludesNoExec 를 추가해 주어야 한다. 
   # 많은 웹사이트는 보안상의 이유로 SSI를 지원하지 않거나, 지원하더라도 exec를 허용하지 않는 경우가 많다. 


2. SSI 명령어 사용하기 

   SSI 문서를 사용하려면 HTML 문서안에 특별한 문자를 사용하여야 한다. 
   클라이언트가 HTTP 서버에 페이지 요청을 하면 서버에서는 홈페이지 문서에서 특별한 문자를 포함하고 
   있는지 검색한 다음 만약 이러한 특수문자가 발견되면 그에 맞는 기능들을 수행한다. 
   SSI 명령어  포맷방식은 다음과 같다.

   <!--#command arg1="value1 arg2="value2 ... -->

   <--#                 시작의 정의 , SSI 명령어를 시작할때는 꼭 이 태그가 포함되어 있어야 한다. 
   command          에는 SSI 명령어가 사용될 수 있다. 
   -->                  끝의 정의, SSI 명령어를 끝낼시는 꼭 이 태그가 포함되어 있어야 한다. 


3. SSI 명령어들

   echo                DOCUMENT_NAME, DOCUMENT_URL, DATE_LOCAL, DATE_GMT, LAST_MODIFIED,
                QUERY_STRING_UNESCAPED 등의 변수값 출력 
   include        다른 파일내용 포함시킴
   exec                cmd=,cgi= 중에서 하나를 실행시킴, 보안상의 문제로 권장 하지 않음
   config        오류출력, 시간형식, 파일크기 형식등에 대한 환경 설정
   flastmod        최종 파일 변경 시각 출력
   printenv        모든 변수와 값 출력
   set                변수의 값을 설정
   fsize           파일의 크기 정보를 표시


4. SSI 명령어 조합

   <!--#flastmod file="nextel.html" -->
   위 예에서 사용된 flastmod 명령어는 수정시간을 출력하라는 뜻이다. 
   인수로는 'file'이 쓰였고 ,value 는 nextel.html 이 쓰였다. 
   흔히 명령어는 인수이름에 따라 다르게 실행되어 질 수가 있다. 다음 예를 보자.

   <!--#flastmod virtual="/" -->
   서버의 홈페이지 마지막 수정시간을 얻을수 있다. 

   SSI 명령어가 실행되어 질때, 'environment variables' 값이 설정이 된다. 
   이것은 CGI variables 을 포함하고 있고(REMOTE_HOST etc), DOCUMENT_NAME 
   그리고 LAST_MODIFIED 등을 가지고 있다. 

   <!--#echo var="LAST_MODIFIED" -->
   echo 명령어로도 출력할수 있다. 


5. Extended SSI (XSSI)

   XSSI 는 SSI 변수들을 그대로 사용할 수 있다. 
   예를 들면 현재의 문서안에서 마지막 수정시간을 다음과 같은 명령어로 얻을 수도 있다. 
   <!--#flastmod file="$DOCUMENT_NAME"-->

   또한 SET 명령어를 사용하여 SSI에서 설정된 변수들을 다시 설정할 수가 있다. 
   그리고 if,else, elif ,endif을 HTML 문서안에 포함시켜 사용할 수 있다. 


6. SSI 와 XSSI 를 사용한 몇몇 예제를 소개하고자 한다.

·현재 문서의 파일이름을 표시
            <!--#echo var="DOCUMENT_NAME" -->

·똑같은 HTML 문서를 출력하고자 할 때 
   다음 명령행을 각 문서의 아래에 더하기 바란다 : 
            <!--#includes file="nextel.html" -->

·외부사용자로부터 문서 감추기 
   XSSI 의 if 명령어와 REMOTE_ADDR CGI 변수를 이용해 특정문서를 외부 사용자로부터 감추고, 
   대신에 허가된 사용자에게만 문서를 보여준다. 
            <!--#if expr="$REMOTE_ADDR != /^203.236.232./" -->
                  <a href="internal-documents.html">Internal documents</a>


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
94 System/OS [linux] GD 라이브러리 설치 방법.. file hooni 2013.04.23 11359
93 System/OS [linux] 처음 설치부터 APM 설치까지 (업데이트 할 것) hooni 2013.04.23 38269
92 System/OS [linux] 파일내 문자열 찾아 바꾸기 hooni 2013.04.23 12194
91 System/OS [perl] 영규가 만든 스크립트.. 하하.. hooni 2013.04.23 10596
90 System/OS [switch] 시스코 카탈리스트(Cisco Catalyst) 기본 설정 hooni 2013.04.23 17494
89 System/OS [switch] 시스코 스위치 관리자 암호 초기화 방법 hooni 2013.04.23 17184
88 System/OS [windows] 원격 데스크탑(터미널 서비스) 포트 변경 hooni 2013.04.23 16299
87 System/OS [linux] X환경 GNOME에서 KDE로 바꾸는 법.. hooni 2013.04.23 12360
86 System/OS 무선 인증 서버.. 김도.. ㅋㅋ file hooni 2013.04.23 17589
85 System/OS 해커스랩 깨기.. 후후.. ㅋㅋ file hooni 2013.04.23 18406
84 System/OS [linux] /etc/fstab 설정 방법.. ㅋㅋ hooni 2013.04.23 12076
83 System/OS [owasp] 10대 웹어플리케이션 보안 취약 file hooni 2013.04.23 15901
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 17 Next
/ 17