LAN上でCGIを利用してアクセスログを得るには

[上に] [前に] [次に]
しょう [E-Mail] 1999/06/22(火) 11:47:42
LAN上でCGIを利用してアクセスログを取ろうとしても、全員のドメイン名やIPが同じであるため誰がアクセスしたのかわかりません。
チャット機能などでログっている人を確認するために個別の情報が得たいのですがどうすればいいのでしょうか?

ジムシー 1999/06/22(火) 13:45:07
>LAN上でCGIを利用してアクセスログを取ろうとしても、
>全員のドメイン名やIPが同じであるため....

LAN接続時にドメイン名が重複する事はあっても、
同一IPアドレスで、同時にネットワークにログインする事は出来ません。
(先に接続していた端末がはじかれます。)
もしモバイル端末等の理由で、共通のIPアドレス、
共通のコンピュータ名を複数の端末に設定し、
不特定のユーザが利用しているので有れば、
ログインアカウントの情報をDNSから取得出来無くはないのですが、
セキュリティの問題も絡みますので、DNS管理者に相談してみることを勧めます。
(共通のログインアカウントを配布していればそれも無理ですが...)

しょう [E-Mail] 1999/06/23(水) 10:55:37
RESありがとうございます。
以前の記事を読んでいて同じようなLANの設定での質問があり、1日有効のcookieを食わせるといった解決法が掲載されていました。
ところが、その「1日有効のcookieを食わせる」という方法がよくわかりません。CGIの本などで基本的なことは説明されているようなのですが・・・
簡単なソースなどありましたら教えていただけないでしょうか?

ジムシー 1999/06/23(水) 18:22:44
以下サンプルソースです。
−−−−−−−−−−−−−−−−−−−−−−−−−−−
#  /// 保存期間セット ///
$sub_A = (??*24*60*60);      #←??に有効期間をセット。当日のみなら0をセット

#  /// 要求日時計算 ///
$ENV{'TZ'} = "GMT";
($secg,$ming,$hourg,$mdayg,$mong,$yearg,$wdayg,$ydayg,$isdstg) = localtime(time + $sub_A);
if ($yearg < 10) { $yearg = "0$yearg"; }
if ($secg  < 10) { $secg  = "0$secg";  }
if ($ming  < 10) { $ming  = "0$ming";  }
if ($hourg < 10) { $hourg = "0$hourg"; }
if ($mdayg < 10) { $mdayg = "0$mdayg"; }
$youbi = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wdayg];

if ($yearg < 99){$yearg += 2000;}
           else {$yearg += 1900;}

$month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mong];

#  /// クッキー保存期間日セット ///
$sub_gmt = "$youbi, $mdayg\-$month\-yearg $hourg:$ming:$secg GMT";

#  /// クッキー保存処理 ///
print "Set-Cookie: $xxxx=$yyyy; expires=$sub_gmt\n";
# $xxxx:クッキーにつけるユニークな名称
# $yyyy:クッキーにセットするデータ
−−−−−−−−−−−−−−−−−−−−−−−−
あと下記ページ当たりを覗いて見ると、詳しい解説が有るので参考になるでしょ。
http://www.tohoho-web.com/wwwcook.htm

とほほ 1999/06/23(水) 22:43:50
これは、社内のLANで、みんながプロキシサーバーを経由してアクセス
しているため、ログ上にはプロキシサーバーのIPアドレスしか記録され
ない・・・というケースでしょうか。この場合、プロキシサーバーのロ
グ情報を見るのが一番確実です。

あとは、チャットログイン時に、自分の名前をちゃんと入力してもらう
か・・

Cookieのみでは、例えば、Aさんがチャットに最初にログインした時に
「CHAT356」というユーザーIDを割り振る。以降、Aさんがチャットに
再ログインする時には、「CHAT356」さんがログインしたことがわかる。
しかし、Aさんが、実際は誰なのかは、どうやってもわからない・・・
というような運用になります。

[上に] [前に] [次に]