プロが教えるわが家の防犯対策術!

はじめて、C言語でCGIをプログラムを作成します.サーバーはApacheです。
フォームから、ユーザー名とパスワードを入力してもらって、送信ボタンをクリックしたら,まず、サーバー内にある.テキストファイルの「アクセス拒否ユーザーリスト」のユーザー名と比較し,該当したらAというHTMLファイルを表示させ,該当しなかったら,BというHTMLファイルを表示させたいのですが,どのようにしたらよろしいでしょうか?また、ユーザー名とパスワードの他にホスト名の情報も欲しいのですが,どのように受け取ったらいいのでしょうか?
ユーザー名、パスワード、ホスト名を格納する構造体を使用するほうがいいでしょうか?その際A,BのHTMLファイルにアクセスした時間とユーザー名,ホスト名をログファイルに記録したいのですが,やり方がまったく判りません.
勉強不足で申し訳ありませんが,どなたかご教授ください.

A 回答 (2件)

AというHTMLのURLを下記のようにロケーションヘッダに記述するだけで表示されると思います。



printf("Location: http://www.xxxx.com/A.html\n\n");

ホスト名は、標準関数「getenv("REMOTE_HOST")」で取得できると思います。
ログファイルへの記録は、ファイルを追加書込みモードでfopenしてfwriteもしくわfputsで、書込みできます。
    • good
    • 0

>該当したらAというHTMLファイルを表示させ,該当しなかったら,BというHTMLファイルを表示させたい



cgiの中で A または B を読み込みながら出力すればよいだけでは?
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=a or b">
という方法もあります。
SSIを使う方法もあります。

>ホ スト名の情報も欲しいのですが,
環境変数に格納されていますので、それを読み出してください。

>アクセスした時間とユーザー名,ホスト名をログファイルに記録したい
情報がそろっているのなら ファイルを追加モードでオープンして書き込めば良いだけですよ。ファイルの入出力に関して、CGIといって特殊なことはありません。普通に作れます。

参考URL:http://tohoho.wakusei.ne.jp/wwwcgi.htm
    • good
    • 0

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