CGI 응용 프로그램 구성

인터넷 정보 서비스는 CGI 응용 프로그램을 지원합니다. 이 항목에서는 웹 서버에 CGI 응용 프로그램을 설치하고 구성하는 관리 정보를 제공합니다. CGI 응용 프로그램 프로그래밍에 대한 전체적인 정보를 보려면 Microsoft의 MSDN Online Library를 참조하십시오.

CGI 프로그램 이름과 프로그램에 필요한 모든 매개 변수를 포함하는 URL을 웹 서버가 받으면 CGI 프로그램이 실행됩니다. CGI 프로그램이 실행 파일(.exe)로 컴파일되면 그 프로그램이 들어 있는 디렉터리에 실행 권한을 주어 사용자가 프로그램을 실행할 수 있도록 해야 합니다. CGI 프로그램이 스크립트(예를 들어, Perl 스크립트 등)로 작성되면 디렉터리에 실행 권한 또는 스크립트 권한을 줄 수 있습니다. 스크립트 권한을 사용하려면 스크립트 인터프리터가 반드시 스크립트 엔진으로 표시되어야 합니다.

새 CGI 응용 프로그램 개발을 고려하고 있다면 Microsoft에서는 검토해 볼 만한 몇 가지 다른 방법을 제공합니다. 빠른 실행을 위해서는 ISAPI 확장 개발을 고려해 보십시오. 개발을 쉽게 하려면 ASP 응용 프로그램 개발을 고려해 보십시오. ASP는 HTTP 헤더 구문 분석 같은 CGI 응용 프로그램 작성과 연관된 기존의 주변 작업을 처리해 주므로 프로그램이나 스크립트를 처음 작성하는 사용자들이 사용하기에 특히 좋습니다. 자세한 내용은 Active Server Pages를 참조하십시오.

CGI 응용 프로그램을 설치하고 구성하려면
  1. CGI 응용 프로그램용 디렉터리를 설정합니다. 추가적인 보안을 위해 내용 파일과 CGI 프로그램을 분리합니다. 굳이 디렉터리 이름을 Cgi-bin으로 정할 필요는 없습니다. 가상 디렉터리 만들기를 참조하십시오.
  2. CGI 프로그램이 스크립트이면 알맞은 스크립트 인터프리터를 구해서 설치해야 합니다. 예를 들어, Perl 스크립트를 실행하려면 Perl 인터프리터를 구해야 합니다.
  3. Windows 운영 체제는 Perl, SED, AWK 버전을 제공하지 않습니다. 인터프리터는 다른 공급업체 개발자로부터 얻을 수 있습니다.

  4. CGI 프로그램이 .exe 파일이면 디렉터리에 실행 권한을 주어야 합니다. CGI 프로그램이 스크립트이면 디렉터리에 실행 권한이나 스크립트 권한 중 하나를 줄 수 있습니다. 액세스 제어를 참조하십시오.
  5. 스크립트 권한을 선택하려면 디렉터리의 속성 시트에서 스크립트 인터프리터를 스크립트 엔진으로 표시해야 합니다. 스크립트 엔진으로 표시된 인터프리터만 디렉터리에서 실행될 수 있습니다. 실행 파일(.dll과 .exe 파일)은 직접 실행될 수 없습니다. 즉, 브라우저가 URL에 프로그램 이름을 포함시키는 방식으로 웹 서버에서 실행 파일을 시작할 수 없습니다. 스크립트 엔진 옵션과 함께 스크립트 권한을 사용하면 내용 파일(예를 들면, .htm 또는 .gif 파일)을 CGI 스크립트와 같은 디렉터리에 안전하게 둘 수 있습니다. 내용 파일이 브라우저에 표시되고 스크립트가 실행되지만 인증 받지 않은 프로그램은 절대 실행되지 않으며 스크립트 명령도 브라우저에 표시되지 않습니다.

    중요   실행 파일이 들어 있는 디렉터리에 읽기 권한을 주면 사이트 방문자들이 실행 파일을 다운로드하고 실행할 수 있습니다. 보안을 위해서는 실행 파일을 항상 읽기 권한이 설정되지 않은 별도의 디렉터리에 따로 보관하는 것이 가장 좋습니다.

  6. CGI 스크립트에 대해 스크립트의 파일 확장명과 스크립트 인터프리터를 매핑하는 응용 프로그램을 만듭니다.
  7. 인터넷 정보 서비스는 파일 확장명을 인터프리터에 매핑합니다. 예를 들어, 확장명이 .pl인 파일에 저장된 Perl 스크립트를 사용할 경우 .pl 확장명을 Perl 스크립트를 실행하는 프로그램으로 매핑합니다. .bat와 .cmd 파일은 명령 인터프리터(Cmd.exe)에 매핑합니다. 응용 프로그램 매핑 설정을 참조하십시오.

  8. NTFS 권한을 설정합니다.
  9. NTFS 액세스 권한을 사용하는 경우, 프로그램을 실행하려는 모든 사용자에게 디렉터리에 대한 실행 권한이 있는지 확인합니다. 웹 사이트에서 익명 사용자를 받아 들이려면 익명 사용자(IUSR_computername 계정)에게 실행 권한을 주어야 합니다.

인터넷 정보 서비스는 표준 서버 환경 변수를 대부분 지원합니다.

스크립트가 원격 서버에서 실행되는 Cmd.exe에 매핑된 스크립트에 액세스하면 기본 작업 디렉터리는 로컬 컴퓨터의 %SYSTEM32%로 설정됩니다. %SYSTEM32%의 기본값은 \Winnt\System32(Windows 2000 이상에서) 및 \Win95\System(Windows 95 이상)입니다.

웹 서버는 보안을 더 철저하게 하기 위해 명령 인터프리터의 특수 문자를 매핑된 CGI 응용 프로그램으로 전달하지 않습니다. 기본적으로 아래 문자는 CGI 응용 프로그램을 호출하는 URL에 포함될 수 없습니다.

| ( , ; % < >

좋은 방법은 아니지만 레지스트리에 있는 AllowSpecialCharsInShell 값을 변경하여 몇몇 특수 문자를 사용할 수 있습니다. 자세한 내용은 WWW 서비스 레지스트리 항목을 참조하십시오.


© 1997-2001 Microsoft Corporation.All rights reserved.

(The following words are used by Search; they are not intended to be displayed on the page.) W3SVC