MKDIR/USR/SRC/TEMP
CD/USR/SRC/TEMP
gzip´d stable.tar.gzip
tar xvl stable.tar
CD Perl-5.6.0
rm -f config.sh polycy.sh
sh configure -de
補う
テストを行います
インストールします
cgi = https://homepages.dcc.ufmg.br/~mlbc/cursos/internet/cgi/intro.htm
CGIサービングWebページ(html)= http://devfuria.com.br/miscellaneous/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本当に簡単/webでフォーミュラントを処理するためのcgi = https://www.jmarshall.com/easy/cgi/portugueses/
CGI -Common Gateway Interface = 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_envariaBlesinchgscripts.html
CGI -TCL/TK言語= http://www.c2o.pro.br/automacao/ar01s14.html
cgi forms = http://penta.ufrgs.br/edu/forms/cgi.html
CGIチュートリアル= https://www.w3.org/cgi/
Common Gateway Interface(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)とは何ですか? Common Gateway Interface(CGI)は、HTTPサーバースクリプトを使用して動的ページを生成できるテクノロジーであり、パラメーターを使用してGatewayスクリプトとプログラムとの相互作用を生成できます。したがって、スクリプトCGIは、これらのパラメーターを解釈し、それらを処理した後にページを生成する小さなプログラムです。
しかし、CGIの使用はそれほど安全ではなく、いくつかのセキュリティ上の注意事項をとらなければならないことに留意してください。以下では、CGIがどのように機能するかを説明した後、いくつかのCGIプログラムのルールに基づいてどのセキュリティ上の注意を払うべきかについて説明します。
どのように機能しますか?例:
クライアント(ブラウザ)は、要求されたURLからCGIのURLを要求するため、サーバーは他のシステムアプリケーションと対話するCGI CGIワークを実行し、これらのアプリケーションからデータを回復し、サーバーに結果を返し、結果を顧客に送信します。
なぜCGIを使用するのですか? CGIを使用すると、サーバーは顧客に読みやすい方法ではない情報(SQLデータベースなど)にアクセスし、顧客が使用できるものを作成するためのゲートウェイとして機能します。ゲートウェイはさまざまな目的に使用できます。最も一般的なのは、ISINDEX操作とHTTPフォームの要求です。
CGIの使用例:HTMLシステムマニュアルページを変換し、HTML結果を顧客に送信します。 WAISおよびArchieデータベースとのインターフェース。結果をHTMLに変換し、結果を顧客に送信します。 CGIに続いて、HTMLフォームとデコーダーを介してユーザーがサーバーをフィードできるようにします。これらのCGIは、次のようなシステムで実行できるリガージで書くことができるゲートウェイを介して書いている可能性があります。
c/c ++ fortran perl tcl unixシェル視覚的基本的なアップルスクリプトCGIプログラムの主なルールは何ですか? CGIプログラム、またはスクリプトは、自分で実行できる実行可能なプログラムです(安全な方法ではありません)。したがって、CGIプログラムを使用するときに実装する必要があるセキュリティ予防策がいくつかあります。
主なルールは次のとおりです。
スクリプトCGIは、スクリプトCGIのサーバーによって決定される場所にある必要があります。または、サーバーが法的CGIスクリプトとして認識するように構成されている特別なサフィックスが必要です。ほとんどのシステムは、CGI-Binと呼ばれるHTTPサーバールートディレクトリにCGIスクリプトを保存します。これは、特定の信頼できるユーザーのみが記録できるように構成されています。これにより、匿名のリモートユーザーがシステム内で何でも実行できるようにすることで発生する明らかな安全性の問題が回避されます。例:/usr/local/apache/htdocs/cgi-bin
スクリプトは、パラメーター、デフォルトの入力(キーボード経由)、環境変数、またはその両方を収集できます。
スクリプトは、通常のテキスト文字列として、3つの標準ヘッダータイプの1つ、出力として指定する必要があります。 3つのタイプであること:
Context_Type:コンテンツタイプは、サーバーによって受け入れられるあらゆるタイプのMIMEデータを指します。一般的なタイプには、テキスト/HTML、テキスト/シンプル、データ/GIFが含まれます。ブラウザ/サーバーは、ファイル名の場所またはサフィックスからこのタイプのファイルを推定できないため、このタイトルはブラウザにどのタイプのデータが期待し、それを使用するかを通知します。
形式:タイプ/タイプ
場所:サーバー上のどこかにドキュメントを指します。フォームまたは環境変数によって送信されたいくつかの基準に基づいて、ドキュメントのリクエストをリダイレクトできます。
ステータス:新しいページを顧客に送信せずにスクリプトを実行するために使用できます。また、エラーメッセージまたはその他の情報を顧客に送信するためにも使用できます。
スクリプトは、サーバーが構成しているユーザーが実行可能にする必要があります。 (ほとんどのWebサーバーのデフォルトユーザーである「Nobody」という特別なユーザーがいます。「誰もいない」ユーザーまたはサーバーが動作するように構成されているユーザーが、スクリプトを実行し、スクリプトが使用できるファイルで読み取り/書き込みを許可することを確認する必要があります)。
CGIスクリプトのセキュリティの詳細
サーバー情報を取得する方法は?ユーザーがCGIプログラムに対応するURLを要求するたびに、サーバーはリアルタイムで実行します。 CGIに関する間違った概念は、次のようなプログラムにオプションのコマンドと引数のオプションを送信できることです。
コマンド%myprog -qa blorf
CGIは、他の目的のためにコマンドラインを使用します。 Gatewayは環境変数を使用して、そのパラメーターをプログラムに送信します。
ユーザーにドキュメントを送信する方法は? CGIプログラムは、多数のドキュメントタイプを返すことができます。画像をユーザー、HTMLドキュメント、またはおそらくオーディオクリップに返すことができます。他のドキュメントも参照する場合があります。
顧客は、どのタイプのドキュメントが受信するかを知る必要があるため、適切に提示できるようにする必要があります。すぐにCGIプログラムは、どのタイプのドキュメントが送信されているかをサーバーに通知する必要があります。
完全なドキュメントであろうと別のドキュメントであろうと、CGIには、出口で小さなヘッダーが必要であるかどうかにかかわらず、戻っているドキュメントのタイプをサーバーに通信するために。このヘッダーは、別々の線またはLinerifeedsまたはCarriage Return(またはその両方)で構成されるASCIIテキストです。
例:
対応するMIMEタイプの完全なドキュメント。 HTMLドキュメントを顧客に送信します。
コンテンツタイプ:Text/HTML
<Title> CGIスクリプトからのHTML出力</title>コンテンツタイプ:テキスト/HTML場所:gopher://httprules.foobar.org/0
<タイトル>申し訳ありません...動きました</title>1つのフォームには、入力、チェックボックス、ラジオなどのさまざまなコンポーネントが含まれる場合があります。
フォームデータを取得する方法は?フォームにアクセスし、取得して投稿するために使用できる2つの方法があります。使用する方法によっては、データを異なる方法で受信します。
GETメソッド:フォームがmethod = "get"を使用する場合、CGIプログラムはquerry_string環境変数でコード化されたデータを受信します。例:
ログイン:パスワード:投稿方法:フォームがmethod = "post"を使用する場合、CGIプログラムはStdin標準入力データを受信します。サーバーは、データの最後にEOFを送信しません。代わりに、content_length環境変数を使用して、stdinから読み取るデータの量を決定する必要があります。
例:
ログイン:パスワード:環境変数の読み取り方法は、CGIプログラムが実行されるオペレーティングシステムと、それが書かれたプログラミング言語に依存します。 UNIXで実行されているCプログラムは、char *getEnv(const char *name)関数を使用できます。これは変数と呼ばれるものと呼ばれ、その値を文字列に返します。
それは古いテクノロジーですか? CGIは、1993年に国立センター(スーパーコンピューティングアプリケーションのため)によって、インターネットの初期の頃に専門家による議論の頂点として考案されました。彼女が古いテクノロジーと見なすことができるもの。
CGI仕様1.1:RFC3875
通常、CGIに関連する言語はPerlですが、CGIは使用される言語とは独立して考案されました。現在、ASP.NET、PHP、Python、Rubyなどのテクノロジーは、仕様を引き続き使用しています。
彼に代わる他の選択肢はありますか(どちら)? FastCGI:これは、Webサーバーとのインターフェイス相互作用のバイナリプロトコルです。
PSGI:これは、WebサーバーとWeb PerlおよびFrameworksアプリケーションの間のインターフェイスであり、自律サーバーとして実行またはCGIを使用できるアプリケーションを作成できます。ラック:RubyのWebアプリケーションの開発のためのモジュール式および適応性のあるインターフェイスを提供します。
WRB:Oracleが分散したCGIに似たHTTPサーバーテクノロジー。
インターフェイス:直接接続できなかった2つのシステムまたはシステムの部分との間に物理的または論理的な接続を提供する要素。
ビジョン一般的な画像の説明をここに挿入します
一般に、HTTPサーバーにはディレクトリ(フォルダー)があり、ドキュメントのコレクション(ファイル)として指定されており、このサーバーにリンクされたWebブラウザーに送信できます。たとえば、Webサーバーにドメイン名のexample.comがあり、ドキュメントコレクションがローカルファイルシステムに/usr/local/apache/htdocsに保存されている場合、Webサーバーはhttp://exemplo.com/index.htmlの注文に応答します。
CGIはこのシステムを拡張し、Webサーバーの所有者が、規定されたページの代わりに実行可能なスクリプト(またはバイナリファイル)を含むドキュメントコレクション内のディレクトリを指定できるようにします。これはCGIディレクトリとして知られています。たとえば、/usr/local/apache/htdocs/cgi-binは、WebサーバーのCGIディレクトリとして指定できます。ファイル(/usr/local/apache/htdocs/cgi-bin/printenv.pl)を送信する代わりに、Webブラウザーにweb browspets eppets eppets theptes theptes theptes aseptes file(/usr/locale/apache/htdocs/cgi-bin/printenv.plyを送信する代わりに、単にファイルを送信する代わりに、WebブラウザーがCGIディレクトリ内のファイルを指すURL(たとえば、http://exemplo.com/cgi-bin/printenv.pl)を要求する場合(http://exemplo.com/cgi-bin/printenv.pl)。ブラウザ。つまり、スクリプトがデフォルトの出力を送信するものはすべて、ターミナルウィンドウの画面に表示される代わりに、Web顧客に渡されます。
スクリプトの一般構造CGI:データの読み取りとデコード(および/または情報フィールドのHTTPパッケージのフィールド);
データ処理(データベースの記録情報、計算の実行、データの回復)。
結果が作成されたWebページの作成。
フォームを介して提出されたCGIのアプリケーションデータ処理の例。
データベースのインターフェイスとして機能し、HTMLトランザクションをSQLに変換し、取得した回答をHTMLにフォーマットし、結果を顧客に送信しました。
システムデータをHTMLに変換し、結果を顧客に返します。
パーソナライズされたドキュメントの作成。
アクセスカウンターを管理します。
マップ処理。
送信方法HTTPプロトコルは、さまざまなデータ処理と組織の方法を使用します。フォームデータを送信するために最も一般的に使用される2つの方法は、GETとPOSTです。どちらの方法も、ブラウザからサーバーにデータを転送すると、それらの最大の違いは、情報が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つの呼び出しを行います。1つはサーバーに連絡し、1つはパラメーターを送信します。言い換えれば、サーバーが投稿を使用してフォームのフォームを受信した場合、彼は残りの情報を「待機」し続ける必要があることを知っています。
利点/短所
GETの利点は、フォームを使用せずにクエリでCGIプログラムにアクセスできることです。基本的には、プログラムにパラメーターを渡しています。例:CGIプログラム
GETの最大の欠点は、セキュリティの欠如と、ブラウザまたはサーバーが許可されている文字の数を超える情報をだましていないという注意があるという事実です。
POSTメソッドの最大の利点は、無制限のクエリのサイズです。 POSTメソッドを介した情報については、CGIプログラムは標準入力を読み取るため、フォームを使用せずにCGIにアクセスすることはできません。
歴史は、革新が起こる速度を考慮して、CGIを古く見なすことができ、コンピューターの作成を考慮して、中年であると言えます。
1993年、チームは国立スーパーコンピューティングアプリケーションセンター(NCSA)をwww-voltalメールリストでコマンドライン実行ファイルを呼び出す仕様を書きました。ただし、NCSAは仕様をホストしていません。
他の開発者は仕様を採用しており、それ以来、Webサーバーの標準となっています。 Ken Coarが議長を務めるグループは、1997年11月に最も正式に定義されているNCSA定義を取得するための仕事を始めました。この作業により、RFC3875が発生し、CGI 1.1バージョンを指定します。 RFCで明示的に言及されているのは、次の納税者です。
Rob McCool(NCSA HTTPD Webサーバーの著者)John Franks(Web Server GNの著者)Ari Lotonen(CERN HTTPD Webサーバー開発者)Tony Sanders(Plexus Web Server著者)George Phillips(ブリティッシュコロンビア大学のWebサーバーメンテナンス)。
代替案として、あなたは考慮することができます:
fastcgi
PSGI(Perl Webサーバーゲートウェイインターフェイス)
ラック(Webサーバーインターフェイス)
WSGI(Webサーバーゲートウェイインターフェイス)
CGIスクリプトの簡単な例
2つの番号を付けます。