OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

C言語でCGI

  • 暇なときにでも
  • 質問No.232029
  • 閲覧数155
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 67% (55/82)

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

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

  • 回答No.1
レベル12

ベストアンサー率 40% (201/496)

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

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

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

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

その他の回答 (全1件)

  • 回答No.2
レベル6

ベストアンサー率 27% (3/11)

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

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

ホスト名は、標準関数「getenv("REMOTE_HOST")」で取得できると思います。
ログファイルへの記録は、ファイルを追加書込みモードでfopenしてfwriteもしくわfputsで、書込みできます。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ