<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 420990:659902 (outdated) -->
+<!-- English Revision: 659902 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
で提供されているディレクティブを使用することで、リクエストの
特性に基づいて環境変数を設定することができます。例えば、特定のブラウザ
(User-Agent) のリクエストや特定の Referer [意図的な綴りです]
- (訳注: 正しい綴りは referrer ですが、HTTP の仕様では Referer
- となっています) ヘッダが見つかったときのみ変数を設定することができます。
+ <transnote>正しい綴りは referrer ですが、HTTP の仕様では Referer
+ となっています</transnote>ヘッダが見つかったときのみ変数を設定することができます。
mod_rewrite の <directive module="mod_rewrite">RewriteRule</directive>
ディレクティブにおいて環境変数を設定する <code>[E=...]</code>
オプションを使用することで、
で定義されます。</li>
<li>移植性のために、環境変数の名前はアルファベット、
- 数字とアンダースコア (訳注: '_') だけから成ります。
+ 数字とアンダースコア <transnote>'_'</transnote> だけから成ります。
さらに、最初の文字は数字であってはいけません。
この制限に合わない文字は CGI スクリプトと SSI
ページに渡されるときにアンダースコアに置換されます。</li>
+
+ <li><directive module="mod_env">SetEnv</directive> はリクエスト処理の
+ 段階の中でも遅くに実行されます。つまり
+ <directive module="mod_setenvif">SetEnvIf</directive> や
+ <directive module="mod_rewrite">RewriteCond</directive>
+ などからは、変数がそこで設定されていることがわかりません。</li>
</ul>
</section>
</section>
キャラクタセットの指定を除去しますので、それら問題のあるブラウザでも
リダイレクト先の文字セットを正しく使うようにできます。</p>
+ <note type="warning">
+ <title>セキュリティ</title>
+
+ <p>文字セットを指定せずにエラーページを送信すると、
+ クロスサイトスクリプティング <transnote>XSS</transnote>
+ 攻撃の危険性がでてきます。
+ HTTP/1.1 仕様に準拠していなくて、コンテンツの中身から文字セットを
+ "推測" しようとするブラウザ (MSIE) が実際にあるからです。
+ そのようなブラウザは UTF-7 文字セットを使って簡単に騙すことができます。
+ クロスサイトスクリプティング攻撃を防ぐために実装されている
+ 通常のエスケープ機構が、入力データ中にある UTF-7 で
+ エンコードされたコンテンツ (リクエスト URI など) には
+ うまく動作しないからです。</p>
+ </note>
+
</section>
<section id="proxy"><title>force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, proxy-sendcl</title>
Allow from env=local_referal
</Directory></pre></example>
- <p>この手法に関する詳しい情報は ApacheToday のチュートリアル「<a
- href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-ps"
+ <p>この手法に関する詳しい情報は ServerWatch にあるチュートリアル
+ 「<a href="http://www.serverwatch.com/tutorials/article.php/1132731"
>Keeping Your Images from Adorning Other Sites</a>
」を参照してください。</p>
</section>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 151408:545841 (outdated) -->
+<!-- English Revision: 545841 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
Apache の設定を行う必要があります。
これを行なうための方法がいくつかあります。</p>
+ <note type="warning">
+ 注: Apache が共有モジュール機能着きでビルドされている場合、
+ モジュールがロードされていることを確認してください。
+ つまり <code>httpd.conf</code> で
+ <directive module="mod_so">LoadModule</directive>
+ がコメントアウトされていないことを確認してください。
+ 正常に設定されていれば次のようになるはずです:
+
+ <example>
+ LoadModule cgi_module modules/mod_cgi.so
+ </example></note>
+
<section id="scriptalias">
<title>ScriptAlias</title>
<p>「通常の」プログラミングと CGI
プログラミングの間には主に二つの違いがあります。</p>
- <p>一つは、CGI プログラムのすべての出力には MIME-type
+ <p>一つは、CGI プログラムのすべての出力には<glossary ref="mime-type">MIME タイプ</glossary>
ヘッダを付けなければなりません。
これはどのような種類のコンテンツを受け取っているかをクライアントに示す
HTTP ヘッダです。ほとんどの場合では、次のように出力します:</p>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 151408:420990 (outdated) -->
+<!-- English Revision: 420990 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<title>How-To / チュートリアル</title>
<dl>
- <dt>認証</dt>
+ <dt>認証と承認</dt>
<dd>
<p>認証とは、誰かが自分は誰であるかを名乗っているものを検証する
処理のことです。承認とは、誰かが望みの場所に辿り着けたり、
望みの情報を手に入れたりすることを許可する処理のことです。</p>
- <p>å\8f\82ç\85§: <a href="auth.html">èª\8d証ã\80\81æ\89¿èª\8dã\80\81ã\82¢ã\82¯ã\82»ã\82¹å\88¶å¾¡</a></p>
+ <p>å\8f\82ç\85§: <a href="auth.html">èª\8d証ã\81¨æ\89¿èª\8d</a></p>
</dd>
</dl>
<dl>
+ <dt>アクセス制御</dt>
+ <dd>
+ <p>アクセス制御は、さまざまな条件でリソースに対するアクセスを
+ 許可したり制限したりすることを指します。
+ 実現方法には様々な異なる手法があります。</p>
+
+ <p>参照: <a href="access.html">アクセス制御</a></p>
+ </dd>
+ </dl>
+
+ <dl>
<dt>CGI による動的コンテンツ</dt>
<dd>
<p>CGI (Common Gateway Interface) はウェブサーバが外部のコンテンツ
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 151408:420990 (outdated) -->
+<!-- English Revision: 420990 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<summary>
<p>このモジュールには二つのディレクティブがあります。<directive
module="mod_actions">Action</directive>
- ディレクティブは特定の MIME タイプのファイルをリクエストされた場合に
+ ディレクティブは特定の <glossary ref="mime-type">MIME タイプ</glossary>のファイルをリクエストされた場合に
CGI スクリプトが実行されるようにします。<directive
module="mod_actions">Script</directive>
ディレクティブはリクエストで特定のメソッドが使用されたときに CGI
<directive module="mod_mime">AddHandler</directive> によって
CGI スクリプトに設定されたリソースへの URL-path です。
<var>Action-type</var> には
- <a href="../handler.html">handler</a> か MIME
- コンテントタイプを指定できます。リクエストされたドキュメントの URL
+ <a href="../handler.html">handler</a> か <glossary ref="mime-type">MIME
+ コンテントタイプ</glossary>を指定できます。リクエストされたドキュメントの URL
とファイルのパスは標準 CGI 環境変数 <code>PATH_INFO</code> と
<code>PATH_TRANSLATED</code> を使って伝えられます。
特定のリクエストに対して使用されるハンドラへは、
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 151408:420990 (outdated) -->
+<!-- English Revision: 420990 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<example>AddHandler send-as-is asis</example>
<p>拡張子が <code>.asis</code> のすべてのファイルの内容は Apache
- からクライアントへほとんど変更無く送られます。クライアントには
- HTTP ヘッダが必要ですので、ファイルに書くことを忘れないでください。
- Status: ヘッダも必要です。データは 3 桁の HTTP
- 応答コードと、その後にテキストメッセージが続いたものでなければなりません。</p>
+ からクライアントへほとんど変更無く送られます。
+ HTTP ヘッダは特別で、ファイルから <module>mod_cgi</module>
+ のルールに従って取り出されます。ですから asis ファイルには
+ 正しいヘッダが記載されていなければなりませし、
+ また CGI での表記法であるところの Status: ヘッダを使って
+ HTTP レスポンスコードを決めることもできます。</p>
<p>これはクライアントにファイルが移動したことを知らせるために
<em>as is</em> (そのまま) で送られるファイルの内容の例です。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
-<!-- English Revision: 151408:420990 (outdated) -->
+<!-- English Revision: 420990 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
<directive module="core">ServerSignature</directive>
<directive module="core">ServerTokens</directive>
<directive module="core">UseCanonicalName</directive>
+ <directive module="core">UseCanonicalPhysicalPort</directive>
</directivelist>
</related>
<directive module="core">ServerTokens</directive> ディレクティブは、Server HTTP
レスポンスヘッダフィールドの値を設定します。</p>
- <p><directive module="core">ServerName</directive> ディレクティブと
- <directive module="core">UseCanonicalName</directive>
+ <p><directive module="core">ServerName</directive>,
+ <directive module="core">UseCanonicalName</directive>,
+ <directive module="core">UseCanonicalPhysicalPort</directive>
ディレクティブは、サーバが自分自身を参照する URL
を作るときに使われます。
たとえば、クライアントがディレクトリを要求して、