hirokawa Fri Jul 20 19:50:16 2001 EDT Modified files: /phpdoc/ja/features http-auth.xml Log: cosmetic changes and updated translation. Index: phpdoc/ja/features/http-auth.xml diff -u phpdoc/ja/features/http-auth.xml:1.8 phpdoc/ja/features/http-auth.xml:1.9 --- phpdoc/ja/features/http-auth.xml:1.8 Sat Jun 23 16:35:12 2001 +++ phpdoc/ja/features/http-auth.xml Fri Jul 20 19:50:16 2001 @@ -21,18 +21,30 @@ <programlisting role="php"> <?php if(!isset($PHP_AUTH_USER)) { - Header("WWW-Authenticate: Basic realm=\"My Realm\""); - Header("HTTP/1.0 401 Unauthorized"); + header("WWW-Authenticate: Basic realm=\"My Realm\""); + header("HTTP/1.0 401 Unauthorized"); echo "ユーザーがキャンセルボタンを押した時に送信されるテキスト\n"; exit; } else { - echo "Hello $PHP_AUTH_USER.<P>"; - echo "あなたは $PHP_AUTH_PW をパスワードとして入力しました。<P>"; + echo "<p>こんにちは、$PHP_AUTH_USER さん。</p>"; + echo "<p>あなたは、$PHP_AUTH_PW +をパスワードとして入力しました。</p>"; } ?> </programlisting> </example> </para> + + <note> + <title>注意</title> + <para> + +HTTPヘッダ行をコーディングする際には注意を要します。全てのクライア + ントへの互換性を最大限に保証するために、キーワード +"Basic" には、 + +大文字の"B"を使用して書くべきです。realm文字列は(一重引用符ではな + く)二重引用符で括る必要があります。また、"HTTP/1.0 +401"ヘッダ行の + コード"401"の前には、1つだけ空白を置く必要があります。 + </para> + </note> + <para> 単に $PHP_AUTH_USER、$PHP_AUTH_PW を出力するのではなく、ユーザー名 とパスワードの有効性をチェックしたいと思うかもしれません。 @@ -53,6 +65,17 @@ 認証されたユーザーかどうかを確認するために $REMOTE_USER 変数を使用 することができます。 </simpara> + + <note> + <title>設定上の注意</title> + <para> + PHP は、外部認証が動作しているかどうかの判定を + <literal>AuthType</literal>ディレクティブの有無で行います。 + +PHP認証を使用するコンテキストについてこのディレクティブを避けるよ + うにして下さい。(さもないと、各認証は失敗します。) + </para> + </note> + <simpara> しかし、上記の機能も、認証を要求されないURLを管理する人が同じサーバー にある認証を要するURLからパスワードを盗むことを防ぐわけではありませ @@ -71,25 +94,24 @@ <programlisting role="php"> <?php function authenticate() { - Header( "WWW-Authenticate: Basic realm=\"Test Authentication System\""); - Header( "HTTP/1.0 401 Unauthorized"); - echo "このリソースにアクセスする際には有効なログインIDとパスワードを入力する必要があります。\n"; - exit; + header( "WWW-Authenticate: Basic realm=\"Test Authentication +System\""); + header( "HTTP/1.0 401 Unauthorized"); + echo +"このリソースにアクセスする際には有効なログインIDとパスワードを入力する必要があります。\n"; + exit; } if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)) ) { authenticate(); } else { - echo "Welcome: $PHP_AUTH_USER<BR>"; - echo "Old: $OldAuth"; - echo "<FORM ACTION=\"$PHP_SELF\" METHOD=POST>\n"; - echo "<INPUT TYPE=HIDDEN NAME=\"SeenBefore\" VALUE=\"1\">\n"; - echo "<INPUT TYPE=HIDDEN NAME=\"OldAuth\" VALUE=\"$PHP_AUTH_USER\">\n"; - echo "<INPUT TYPE=Submit VALUE=\"Re Authenticate\">\n"; - echo "</FORM>\n"; - -} + echo "</p>Welcome: $PHP_AUTH_USER<br>"; + echo "Old: $OldAuth"; + echo "<form action=\"$PHP_SELF\" METHOD=POST>\n"; + echo "<input type=\"hidden\" name=\"SeenBefore\" +value=\"1\">\n"; + echo "<input type=\"hidden\" name=\"OldAuth\" +value=\"$PHP_AUTH_USER\">\n"; + echo "<input type=\"submit\" value=\"Re +Authenticate\">\n"; + echo "</form></p>\n"; + } ?> </programlisting> </example>