こんにちは、kanpoと申します。
PHPマニュアルに以下のような記述があったのですが
下記について質問させてください。
manual start=======================================================
Example 2-1. HTTP 認証の例
<?php
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");
echo "ユーザーがキャンセルボタンを押した場合に送られるテキスト\n";
exit;
} else {
echo "こんにちは $PHP_AUTH_USER.<P>";
echo "あなたは、パスワードとして $PHP_AUTH_PW を入力しました。<P>";
}
?>
単に $PHP_AUTH_USER、$PHP_AUTH_PW を出力するのではなく、 ユーザー名とパスワードの有効性をチェックしたいと思うかもしれません。 その場合、クエリーをデータベースに送るか、ある dbm ファイル中の ユーザーを調べるといったことをすることになるでしょう。
manual end=========================================================

この、”クエリーをデータベースに送るか”というところなんですが
これはUID&PASSをDBに登録されている情報と照合をかけるという意味だと思うのですが、ポップアップWindowで入力されたUID&PASSを.htaccessにかかれたUID&PASSで認証しそのUID&PASSをDBによりもう一度照合するということでしょうか?
それとも、ポップアップで入力してもらったUID&PASSをそのままDBにて認証できるのでしょうか?
よろしくご教授ください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。


もう解決されてしまったかも知れませんが、参考になりそうなURLを
リストアップしておきます。

[mod_auth_pgsqlについて]
http://www.net-newbie.com/postgres/misc/mod_auth …

[ApacheでBASIC認証を使うための色々な方法について(英文)]
http://www.apacheweek.com/features/userauth

[AuthPgについて(英文)]
http://authpg.sourceforge.net/

では。
    • good
    • 0
この回答へのお礼

yamyamyamさんレスありがとうございます。
早速おしえていただきましたURLを
みて勉強してみます。
本当にたすかりました、
ありがとうございました。
失礼します。

お礼日時:2001/06/18 22:44

「そのままDBにて認証できる」で正解だと思います。



1 DBにIDとパスワードを登録しておく
2 .htaccessの中に参照先のDBの情報
 (サーバー名とかポートとか)を記述しておく
3 BASIC認証のダイアログからIDとパスワードを入力する
4 DBに登録したIDとパスワードで自動的に認証が行われる

という手順になります。

ちなみに、認証用のDBとしてPostgreSQLを使い、WEBサーバー
としてApacheを使っている場合は、mod_auth_pgsqlという
モジュールをApacheに追加しなければいけなかったと思います。
    • good
    • 0
この回答へのお礼

yamyamyamさんありがとうございます。
早速検証してみます。
もし、参考になるURLなどありましたら
情報おねがいしますね。
お返事、本当にありがとうございました。
失礼します。

お礼日時:2001/06/17 01:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q$str=preg_replace('/\u3000/','  ',$str);

によってutf-8の空白文字をhtmlの空白文字に変換しようとしたのですがエラーになります
どうしたらいいのでしょうか?

Aベストアンサー

>そもそも?のところにコード表現で空白文字を入力する手段はないのでしょうか?
\xE3\x80\x80
で一応いいかと思いますが…

Qループ forに関して for($i = $num ; $i < $max ; $i++)

phpの初心者です。

以下の記述ですが、上手にループしてくれません。

for($i = $num ; $i < $max ; $i++)

$num の部分に「0」を入れると稼動するのですが、変数を代入したいというのが希望です。

方法があったらご教授下さい。

Aベストアンサー

もう一度全体のコードを見直してみてください。
問題なく動作します。

$num = 1;
$max = 5;

for($i = $num ; $i < $max ; $i++){
echo $i."<br />";
}

Q$int5 = PHP_INT_MAX ;

$int5 = PHP_INT_MAX;     //整数型の最大値

 以上、参考書に書いてあるのですが!
 素人の私にとりまして、意味がいまいちです!?
 
 PHPの$int5 = PHP_INT_MAX; は、C言語みたいに、何行もプログラムを書かずに
 目的の最大値を、取り出せるとの解釈でよろしいのでしょうか!?
  
 以上宜しくお願いいたします。
 

Aベストアンサー

定義済みの定数です。
http://www.php.net/manual/ja/reserved.constants.php

Q$ka = $_REQUEST[\"FFF\"];が変数に代入できなくて困ってます┐(´~`;)┌

今任意の名前でファイルを生成するPHPを作っています。ファイルの中身に$ka = $_REQUEST[\"FFF\"];というコードをファイル作成時に書き込みたいんですが、どうも変数 $HTMLにうまく代入されてくれません。もし、どこが問題なのかわかる方どなたかいらっしゃいましたらアドバイスお願いしますΣo(≧~≦)o。


下にコードを書いておきます。


<form name="form" action="A.php" method="POST">
HTMLファイルの名前
<input name="DAI" type="text">
<input type="submit" value="作成">
</form>
<?php
$DAI = $_REQUEST["DAI"];
?>





<!-- 【この下のコード$ka = $_REQUEST[\"FFF\"];がうまく変数$HTMLに代入されません】 -->
<? $HTML="$ka = $_REQUEST[\"FFF\"];" ?>





<?php
$fp = fopen("$DAI.php","a");
fputs($fp,$HTML);
fclose($fp);
echo "ファイル作成成功!";
?>
<?
print"$DAIが作成されました";
?>
<?
print"<A href=\"http://localhost/$DAI.php\">作成された貴方のファイルへのリンク</A>";
?>

今任意の名前でファイルを生成するPHPを作っています。ファイルの中身に$ka = $_REQUEST[\"FFF\"];というコードをファイル作成時に書き込みたいんですが、どうも変数 $HTMLにうまく代入されてくれません。もし、どこが問題なのかわかる方どなたかいらっしゃいましたらアドバイスお願いしますΣo(≧~≦)o。


下にコードを書いておきます。


<form name="form" action="A.php" method="POST">
HTMLファイルの名前
<input name="DAI" type="text">
<input type="submit" value="作成">
</form>
<?p...続きを読む

Aベストアンサー

<? $HTML='$ka = $_REQUEST["FFF"];' ?>
こういうことでしょうか?

シングルクォートは変数を評価しません。

Qecho $a++とecho ++$a,の違いは?

<?php
$a = 10;

echo $a++,PHP_EOL;

------------------------------

 <?php
$a = 10;

echo ++$a, PHP_EOL;

-------------------------------
 以上の計算結果は同じですか?
  もし同じでしたら、また悩みが増えます。
 よろしくお願いします。

Aベストアンサー

計算結果は、どちらも echo の次行では $a の中身は 11 です。

しかし、echo で出力される結果は前者は 10 、後者は 11 になります。
前者は $s の中身を出力した後に足し算が行われます。
後者は足し算を行った後に $a の中身を出力します。

<?php
$a = 10;
echo $a++,PHP_EOL;
echo $a,PHP_EOL;

$a = 10;
echo ++$a,PHP_EOL;
echo $a,PHP_EOL;
?>

で実験してみれば判るでしょう。


人気Q&Aランキング

おすすめ情報