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>