- ベストアンサー
C言語でCGI
はじめて、C言語でCGIをプログラムを作成します.サーバーはApacheです。 フォームから、ユーザー名とパスワードを入力してもらって、送信ボタンをクリックしたら,まず、サーバー内にある.テキストファイルの「アクセス拒否ユーザーリスト」のユーザー名と比較し,該当したらAというHTMLファイルを表示させ,該当しなかったら,BというHTMLファイルを表示させたいのですが,どのようにしたらよろしいでしょうか?また、ユーザー名とパスワードの他にホスト名の情報も欲しいのですが,どのように受け取ったらいいのでしょうか? ユーザー名、パスワード、ホスト名を格納する構造体を使用するほうがいいでしょうか?その際A,BのHTMLファイルにアクセスした時間とユーザー名,ホスト名をログファイルに記録したいのですが,やり方がまったく判りません. 勉強不足で申し訳ありませんが,どなたかご教授ください.
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>該当したらAというHTMLファイルを表示させ,該当しなかったら,BというHTMLファイルを表示させたい cgiの中で A または B を読み込みながら出力すればよいだけでは? <META HTTP-EQUIV="Refresh" CONTENT="0;URL=a or b"> という方法もあります。 SSIを使う方法もあります。 >ホ スト名の情報も欲しいのですが, 環境変数に格納されていますので、それを読み出してください。 >アクセスした時間とユーザー名,ホスト名をログファイルに記録したい 情報がそろっているのなら ファイルを追加モードでオープンして書き込めば良いだけですよ。ファイルの入出力に関して、CGIといって特殊なことはありません。普通に作れます。
その他の回答 (1)
- zonbie
- ベストアンサー率27% (3/11)
AというHTMLのURLを下記のようにロケーションヘッダに記述するだけで表示されると思います。 printf("Location: http://www.xxxx.com/A.html\n\n"); ホスト名は、標準関数「getenv("REMOTE_HOST")」で取得できると思います。 ログファイルへの記録は、ファイルを追加書込みモードでfopenしてfwriteもしくわfputsで、書込みできます。