• ベストアンサー

C言語でCGI

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

質問者が選んだベストアンサー

  • ベストアンサー
  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.1

>該当したら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

その他の回答 (1)

  • zonbie
  • ベストアンサー率27% (3/11)
回答No.2

AというHTMLのURLを下記のようにロケーションヘッダに記述するだけで表示されると思います。 printf("Location: http://www.xxxx.com/A.html\n\n"); ホスト名は、標準関数「getenv("REMOTE_HOST")」で取得できると思います。 ログファイルへの記録は、ファイルを追加書込みモードでfopenしてfwriteもしくわfputsで、書込みできます。

関連するQ&A