mkdir/usr/src/temp
CD/USR/SRC/TEMP
gzip ´ the stable.tar.gzip
타르 XVL 안정
CD Perl-5.6.0
rm -f config.sh polycy.sh
sh 구성 -de
조립
테스트하십시오
설치하십시오
cgi = https://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm이란 무엇입니까?
CGI 서빙 웹 페이지 (html) = http://devfuria.com.br/miscellanogy/cgi-common-gateway-interface/
cgi/서식 형식이란 무엇입니까? cgi = http://penta.ufrgs.br/edu/forms/cgi.html
Java 및 JavaScript에 대한 CGI 리소스 = http://penta.ufrgs.br/pesquisa/joice/cap4.html
CGI는 정말로 쉽게/쓰기 스크립트 CGI를 웹에서 공식 제를 처리합니다.
CGI- 공통 게이트웨이 인터페이스 = https://web.fe.up.pt/~goii2000/m9/cgi.htm
CGI 스크립트의 IBM 환경 변수 (참조) = https://www.ibm.com/docs/en-br/netcoolomnibus/8.1?topic=ssshtq_8.1.0/com.ibm.netcool_omnibus.doc_8.1.0/webtop/wip/reference/web_cust_envariablesinchgscriptts.html
CGI -TCL/TK 언어 = http://www.c2o.bro.br/automacao/ar01s14.html
cgi forms = http://penta.ufrgs.br/edu/forms/cgi.html
CGI 튜토리얼 = https://www.w3.org/cgi/
공통 게이트웨이 인터페이스 (CGI) = https://en.wikipedia.org/wiki/common_gateway_interface
CGI (wikipedia) = https://en.wikipedia.org/wiki/cgi
CGI 소개 = http://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm
CGI (Common Gateway Interface) 란 무엇이며 무엇을합니까? CGI (Common Gateway Interface)는 매개 변수를 통해 게이트웨이 스크립트 및 프로그램과 HTTP 서버 스크립트 상호 작용으로 동적 페이지를 생성 할 수있는 기술입니다. 따라서 스크립트 CGI는 이러한 매개 변수를 해석하고 처리 후 페이지를 생성하는 작은 프로그램입니다.
그러나 CGI의 사용은 그다지 안전하지 않으므로 일부 보안 예방 조치를 취해야합니다. 아래는 CGI의 작동 방식을 설명 한 후 일부 CGI 프로그램 규칙을 기반으로하는 보안 예방 조치에 대해 논의 할 것입니다.
어떻게 작동합니까? 예:
클라이언트 (브라우저)는 CGI에 대한 요청 된 URL에서 URL을 요청하므로 서버는 CGI CGI가 다른 시스템 응용 프로그램과 상호 작용하는 CGI CGI 작업을 수행하고 이러한 애플리케이션에서 데이터를 복구하고 결과를 서버에 반환합니다. 서버는 데이터를 고객에게 전송하고 결과를 형식화하고 여기에 이미지 설명을 입력하도록합니다.
CGI를 사용하는 이유는 무엇입니까? CGI를 사용하면 서버가 고객에게 읽을 수없는 방식 (예 : SQL 데이터베이스)에 액세스 할 수 있으며 고객이 사용할 수있는 것을 생산하기 위해 게이트웨이 역할을합니다. 게이트웨이는 다양한 목적으로 사용될 수 있으며, 가장 일반적인 것은 Isindex 조작 및 HTTP 양식 요청입니다.
CGI 사용 예 : HTML 시스템 설명서 페이지를 변환하고 HTML 결과를 고객에게 보냅니다. WAIS 및 Archie 데이터베이스와 인터페이스하여 결과를 HTML로 변환하고 결과를 고객에게 보냅니다. 사용자가 HTML 양식과 CGI에 따라 디코더를 통해 서버를 공급할 수 있도록하십시오. 이 CGI를 통해 게이트웨이를 통해이 CGI를 작성하는 것일 수 있으며, 이는 시스템에서 실행할 수있는 모든 인물로 작성할 수 있습니다.
C/C ++ FORTRAN PERL TCL UNIX SHELL VISION BASIC APPLE SCRIPT CGI 프로그램의 주요 규칙은 무엇입니까? CGI 프로그램 또는 스크립트는 직접 실행할 수있는 실행 가능한 프로그램입니다 (안전한 방법은 아닙니다). 따라서 CGI 프로그램을 사용할 때 구현 해야하는 보안 예방 조치가 있습니다.
주요 규칙은 다음과 같습니다.
스크립트 CGI는 Scripts CGI의 서버에서 결정한 장소에 있어야하거나 특수 접미사가 있어야합니다.이 서버는 법적 CGI 스크립트로 인식하도록 구성됩니다. 대부분의 시스템은 CGI 스크립트를 CGI-BIN이라는 HTTP 서버 루트 디렉토리에 저장하는데, 이는 특정 신뢰할 수있는 사용자만이 녹음 할 수있는 방식으로 구성됩니다. 이는 익명 원격 사용자가 시스템에서 무엇이든 수행 할 수 있도록하여 발생하는 명백한 안전 문제를 피합니다. 예 :/usr/local/apache/htdocs/cgi-bin
스크립트는 매개 변수, 기본 입력 (키보드를 통해), 환경 변수 또는 둘 다를 수집 할 수 있습니다.
스크립트는 세 가지 표준 헤더 유형 중 하나 인 출력으로 일반 텍스트 문자열로 제공해야합니다. 세 가지 유형 :
Context_Type : 컨텐츠 유형은 서버가 허용하는 모든 유형의 마임 데이터를 나타냅니다. 일반적인 유형에는 텍스트/html, 텍스트/단순 및 데이터/gif가 포함됩니다. 브라우저/서버는 파일 이름 위치 또는 접미어 에서이 유형의 파일을 추론 할 수 없으므로이 제목은 브라우저에 데이터 유형의 데이터 유형과 사용 방법을 알려줍니다.
형식 : 유형/유형
위치 : 서버의 다른 곳에 문서를 가리 킵니다. 양식 또는 환경 변수로 전송 된 일부 기준에 따라 문서 요청을 리디렉션 할 수 있습니다.
상태 : 고객에게 새 페이지를 보내지 않고 스크립트를 실행하는 데 사용할 수 있습니다. 또한 고객에게 오류 메시지 또는 기타 정보를 보내는 데 사용될 수 있습니다.
스크립트는 서버가 구성 한 사용자가 실행할 수 있어야합니다. (대부분의 웹 서버의 기본 사용자 인 "Nobody"라는 특수 사용자가 있습니다. 서버가 작업하도록 구성된 "Nobody"사용자 또는 사용자가 스크립트를 실행하고 스크립트가 사용할 수있는 파일에서 읽기/쓰기가 허용되어 있는지 확인해야합니다.
CGI 스크립트의 더 많은 보안 세부 사항
서버 정보를 얻는 방법? 사용자가 CGI 프로그램에 해당하는 URL을 요청할 때마다 서버는 실시간으로 실행됩니다. CGI에 대한 잘못된 개념은 다음과 같은 프로그램의 선택적 명령 및 인수 옵션을 보낼 수 있다는 것입니다.
명령% MyProg -QA Blorf
CGI는 다른 목적으로 명령 줄을 사용합니다. 게이트웨이는 환경 변수를 사용하여 매개 변수를 프로그램으로 보냅니다.
문서를 사용자에게 보내는 방법은 무엇입니까? CGI 프로그램은 많은 수의 문서 유형을 반환 할 수 있습니다. 이미지를 사용자, HTML 문서 또는 오디오 클립에 반환 할 수 있습니다. 다른 문서를 참조 할 수도 있습니다.
고객은 어떤 유형의 문서를 수신 할 것인지 알아야하여 제대로 제시 할 수 있습니다. 곧 CGI 프로그램은 서버에 어떤 유형의 문서가 전송 될지 알려야합니다.
서버에 통신하려면 전체 문서이든 다른 문서이든 다른 문서에 관계없이 CGI는 출구에 작은 헤더가 필요합니다. 이 헤더는 별도의 라인 또는 라이너 페 또는 캐리지 리턴 (또는 둘 다)으로 구성된 ASCII 텍스트와 빈 라인으로 구성된 ASCII 텍스트입니다.
예:
해당 MIME 유형의 완전한 문서. HTML 문서를 고객에게 보내기.
내용 유형 : Text/HTML
CGI 스크립트에서 <title> HTML 출력 </title>Content-Type : Text/Html 위치 : Gopher : //httprules.foobar.org/0
<title> 죄송합니다 ... 이동 </title>하나의 양식에는 입력, 확인란 및 라디오와 같은 다양한 구성 요소가 포함될 수 있습니다.
양식 데이터를 얻는 방법? 양식에 액세스하는 데 사용할 수있는 두 가지 방법이 있습니다. 사용 된 방법에 따라 데이터를 다르게 받게됩니다.
GET 메소드 : 양식이 메소드 = "get"을 사용하는 경우 CGI 프로그램은 Querr_String 환경 변수에서 코딩 된 데이터를 수신합니다. 예:
로그인 : 비밀번호 :포스트 메소드 : 양식이 메소드 = "post"를 사용하는 경우 CGI 프로그램은 STDIN 표준 입력 데이터를 수신합니다. 서버는 데이터가 끝날 때 EOF를 보내지 않습니다. 대신 Stdin에서 읽을 데이터의 양을 결정하려면 Content_length 환경 변수를 사용해야합니다.
예:
로그인 : 비밀번호 :환경 변수를 읽는 방법은 CGI 프로그램이 실행되는 운영 체제와 그 작성된 프로그래밍 언어에 따라 다릅니다. Unix에서 실행되는 C 프로그램은 char *getenv (const char *name) 함수를 사용할 수 있습니다. 이는 변수를 인수로 명명하고 문자열로 값을 반환합니다.
오래된 기술입니까? CGI는 1993 년 인터넷 초기에 전문가들의 토론의 정점, 즉 Rob McCol, John Franks, Ari Lotonen, George Phillips 및 Tony Sanders 사이의 National Center (SuperComputing Applications)에 의해 전문가들의 토론을 정한 것으로 생각되었습니다. 그녀가 오래된 기술로 간주 할 수있는 것은 무엇입니까?
CGI 사양 1.1 : RFC3875
일반적으로 CGI와 관련된 언어는 PERL이지만 CGI는 사용 된 언어와 무관하기 위해 고안되었습니다. 현재 ASP.NET, PHP, Python 및 Ruby와 같은 기술은 계속해서 사양을 사용하고 있습니다.
그에게 다른 대안이 있습니까? FASTCGI : 웹 서버와의 인터페이스 상호 작용을위한 이진 프로토콜입니다.
PSGI : 웹 서버와 웹 perl 사이의 인터페이스와 프레임 워크 응용 프로그램은 자율 서버로 수행하거나 CGI를 사용할 수있는 응용 프로그램을 작성할 수 있습니다. RACK : Ruby의 웹 응용 프로그램 개발을위한 모듈 식적이고 적응 가능한 인터페이스를 제공합니다.
WRB : HTTP 서버 기술 Oracle Distributed CGI와 유사합니다.
인터페이스 : 두 시스템 또는 직접 연결할 수없는 시스템의 일부 간 물리적 또는 논리적 연결을 제공하는 요소.
Vision General 이미지 설명을 여기에 삽입하십시오
일반적으로 HTTP 서버에는 디렉토리 (폴더)가 있으며이 서버에 링크 된 웹 브라우저로 보낼 수있는 문서 (파일) 모음으로 지정된 디렉토리 (폴더)가 있습니다. 예를 들어, 웹 서버에 도메인 이름 example.com이 있고 문서 수집이/usr/local/apache/htdocs에 로컬 파일 시스템에 저장된 경우, 웹 서버는 /usr/local/pache/indoc.html 파일을 브라우저로 보내서 http://exemplo.com/index.html에 대한 주문에 응답합니다.
CGI는이 시스템을 확장하여 웹 서버 소유자가 처방 된 페이지 대신 실행 가능한 스크립트 (또는 이진 파일)가 포함 된 문서 컬렉션 내에 디렉토리를 지정할 수 있도록 CGI 디렉토리라고합니다. 예를 들어,/usr/local/apache/htdocs/cgi-bin은 웹 서버의 CGI 디렉토리로 지정 될 수 있습니다. 웹 브라우저가 CGI 디렉토리 내의 파일을 가리키는 URL을 요청하는 경우 (예 : http://exemplo.com/cgi-bin/printenv.pl) 파일을 간단히 전송하는 대신 (/usr/local/apache/htdocs/cgi-bin/printenv.pl)를 웹 브라우트에 보내고 Scors Sperts the Speeds Speerts the Speeds Speerts the Speeds Speres. 웹 브라우저로의 출력. 즉, 스크립트가 기본 출력을 보내는 모든 것이 터미널 창의 화면에 표시되는 대신 웹 고객에게 전달됩니다.
스크립트의 일반적인 구조 CGI : 데이터 읽기 및 디코딩 (및/또는 HTTP 패키지의 정보 필드);
데이터 처리 (데이터베이스에 대한 정보 기록, 계산 수행, 데이터 복구);
결과가 생성 된 웹 페이지 생성.
양식을 통해 제출 된 CGI의 응용 프로그램 데이터 처리의 예;
데이터베이스와의 인터페이스 역할을하고 HTML 트랜잭션을 SQL로 변환하고 답변을 얻은 답변으로 서식 한 다음 결과를 고객에게 보냈습니다.
시스템 데이터를 HTML로 변환하고 결과를 고객에게 반환하십시오.
개인화 된 문서 작성;
액세스 카운터 관리;
지도 처리.
전송 방법 HTTP 프로토콜은 다양한 데이터 처리 및 조직 방법을 사용합니다. 형식 데이터를 제출하는 데 가장 일반적으로 사용되는 두 가지 방법은 Get과 게시물입니다. 두 방법 모두 브라우저에서 서버로 데이터를 전송합니다. 이들 사이의 가장 큰 차이점은 정보가 CGI 프로그램으로 전달되는 방식입니다.
얻다
CGI는 GET 메소드를 통해 호출되었습니다
브라우저가 "?"를 추가합니다. 동작 속성에 지정된 URL 및 코딩 된 값;
http://exemplo.com/cgi-bin/registra.pl?login=guest
쿼리 스트링이있는 URL을 수신 할 때 서버는 URL의 첫 부분에서 식별 된 CGI 프로그램을 호출하고 (이전에 '?') '?' query_string 환경 변수에서 ( '?'이후 URL에 포함 된 상담 문자열). 로그인 필드에서 사용자가 "게스트"를 입력했다고 가정하면 제출 버튼을 클릭하면 브라우저가 서버로 전송됩니다.
GET 요청은 전송 될 문서를 식별합니다 (CGI-BIN/Record.pl). 서버가 CGI-Bin 디렉토리의 모든 파일을 CGI 프로그램으로 인식하도록 구성된 한, 문서를 브라우저로 직접 보내는 대신 프로그램을 실행하고 query_string 환경 변수에 문자열 로그인 = 'Guest'를 넣습니다.
CGI의 프로그래머는 프로그램을 호출 할 방법을 제어 할 수 없습니다. 따라서 스크립트는 일반적으로 두 가지 방법을 모두 지원하도록 작성됩니다.
양식에 소개 된 데이터는 서버로 전송 된 메시지의 일부입니다.
GET 메소드는 환경 변수를 통해 정보를 전달하는 동안 게시물은 Content_Length 환경 변수에 지정된 길이로 표준 입력 (기본 입력, stdio.h)을 통해 데이터를 CGI 프로그램으로 보냅니다.
서버에 2 번의 호출을하고, 하나는 서버에 연락하고, 하나는 매개 변수를 보내려고합니다. 다시 말해서, 서버가 게시물을 사용하여 양식 양식을 수신하는 경우, 나머지 정보를 계속 "기다려야"한다는 것을 알고 있습니다.
장점/단점
Get의 장점은 양식을 사용하지 않고 쿼리로 CGI 프로그램에 액세스 할 수 있다는 것입니다. 기본적으로 프로그램의 매개 변수를 전달합니다. 예 : CGI 프로그램
GET의 가장 큰 단점은 보안 부족과 브라우저 나 서버가 허용 된 문자 수를 초과하는 정보를 속이지 않는다는 사실이 있다는 사실입니다.
포스트 방법의 가장 큰 장점은 쿼리 크기가 무제한이라는 것입니다. Post Method를 통해 정보를 얻으려면 CGI 프로그램은 표준 입력을 읽으므로 양식을 사용하지 않고 CGI에 액세스 할 수 없습니다.
혁신이 발생하는 속도를 고려한 역사 CGI는 컴퓨터 생성을 고려할 때 중년이라고 말할 수 있습니다.
1993 년, NCSA (National Center for SuperComputing Applications) 팀은 www-Voltal 이메일 목록에서 명령 행 실행 파일을 호출하기위한 사양을 작성했습니다. 그러나 NCSA는 사양을 호스팅하지 않습니다.
다른 개발자들은이 사양을 채택했으며 그 이후로 웹 서버의 표준이었습니다. Ken Coar가 의장을 맡은 그룹은 1997 년 11 월에 가장 공식적으로 정의 된 NCSA 정의를 얻기 위해 일자리를 시작했습니다. 이 작업으로 인해 CGI 1.1 버전을 지정하는 RFC3875가 발생했습니다. RFC에 명시 적으로 언급 된 것은 다음 납세자입니다.
Rob McCool (NCSA HTTPD 웹 서버의 저자) John Franks (웹 서버 GN의 저자) Ari Lotonen (Cern HTTPD 웹 서버 개발자) Tony Sanders (Plexus 웹 서버 저자) George Phillips (브리티시 컬럼비아 대학교의 웹 서버 유지 보수).
대안으로 다음을 고려할 수 있습니다.
Fastcgi
PSGI (Perl Web Server 게이트웨이 인터페이스)
랙 (웹 서버 인터페이스)
WSGI (웹 서버 게이트웨이 인터페이스)
CGI 스크립트의 간단한 예
두 숫자를 넣으십시오.