• ベストアンサー

HTMLページの最終アクセス者(IP)の取得方法

perlについてどなたかご教授頂けないでしょうか。 perlでホームページ(管理用のページ)を作成していて、 『index.html』というページが、最後にアクセスされた時間(最終アクセス日時) を取得する方法は分かるのですが、HTMLファイルに最後にアクセスした人(IPアドレス) を取得する事は可能でしょうか?可能でしたら記述を教えて下さい。 ご存知の方いらっしゃいましたらご教授下さい。

  • Perl
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

htmlから「何らかの方法で」CGIを呼び出しているんですよね?どういう手法を使われてますでしょうか?環境変数のREMOTE_ADDRを参照するのですが、カウンタCGIのようにブラウザから呼び出してもらう必要があります。 このあたりはフリーで配布されている「アクセス解析のCGI」のソースを読めば、すぐにわかると思います。

その他の回答 (1)

  • urakids
  • ベストアンサー率77% (7/9)
回答No.2

下記のcgiをindex.htmlに <img src=ac_log.cgi>等IMGタグで 読み込ませれば時間とアクセスIPが取れますがどうでしょう? #ac_log.cgi ############################################################ #!/usr/bin/perl use strict; use warnings; my (@TIME, $access_log); (@TIME) = localtime(time); $access_log = (1900+$TIME[5]) . "/"; #年 $access_log .= ($TIME[4]+1) . "/"; #月 $access_log .= $TIME[3] . " "; #日 $access_log .= $TIME[2] . ":"; #時 $access_log .= $TIME[1] . ":"; #分 $access_log .= $TIME[0]; #秒 $access_log .= "\t" . $ENV{REMOTE_ADDR} . "\n"; #IP #ファイルに追記 open(FILE, ">>./access.log") or die; eval{flock(FILE,2);}; print FILE $access_log; close(FILE); #画像読み込み open(IMG, "image.gif") or die; eval{flock(FILE,1);}; print "Content-type: image/gif\n\n"; binmode(IMG); print <IMG>; close(IMG); exit; ############################################################

関連するQ&A

  • SSIうを使わず、HTMLにアクセスするとCGIが動作するようにしたい

    ホームページのindex.htmlにアクセスがあったら カウントしてそれをメールで飛ばそうと思っています。 HTMLにどのように記述すれば、htmlアクセス時にCGIを呼び出せるようになるんでしょうか? SSI対応では無いのでSSI以外の方法があるようでしたら ご教授ください。 お願いします。

    • ベストアンサー
    • HTML
  • IPアドレス取得

    IPアドレスを取得しているということはどういうことを意味しますか? 自動取得であれば、DHCPでPC側にIPアドレスを割り振って いる・・・ということになりますがIPを取得していても、その時はページの表示ができて、しばらくすると、『ページを表示できません』の表示。 IP再取得するとまた、ホームページを表示するのですが、その後しばらく、閲覧していると、ホームページの表示ができなくなります。

  • アクセス解析で最後の閲覧ページ取得方法

    有料のアクセス解析等で 「最後の閲覧ページを取得する」 という項目があります。 Apacheなどでログを見るんでしょうか? それともPHP,Perl,JavaScript等でしょうか? 具体的にはどうやって取得してるのでしょうか? 以上よろしくお願いいたします。

    • 締切済み
    • CGI
  • H・Pの同一ページ内のラベルへ移動するHTML記述方法を教えてください

    H・P作りを始めたばかりです。 同一ページ内のラベルへ移動するHTMLタグの場合「自分のホームページにおけるページ同士のリンクは相対リンクで記述すべし」と書いてありました。 例えば、同一ページ内フォルダにそれぞれindex.html、002.html、003.html、004.htmlのファイルがあったとします。 index.html←→002.htmlあるいは002.html←→003.html←→004.html→002.htmlとリンクさせるには どのようにHTMLタグ記述をすればいいでしょうか。 また、どこに記述すればいいでしょうか。 よろしくご教示お願いいたします。

  • HTMLとPerl間のページ遷移について。

    HTMLとPerl間のページ遷移について。 こんにちわ。 HTML(index.html)でログインフォーム(ユーザ名、パスワード)を作成し、そこに入力した情報を、Perl(login.pl)にPOST送信します。 Perlでは、受け取ったパラメータをチェックし、ユーザ名とそのパスワードが正しければ、もとのHTMLファイル(index.html)にページ遷移し、もともとあったログインフォームをJavaScriptで削除し、「ログイン中」と表示させる、ということをしたいのですがわからないところがあり投稿させていただきました。 現在、クライアントでは、JavaScriptを使ってログインフォームを作っています。そして、フォームの中の値を取得して、POST送信することはできます。次に、サーバにてPerlで受け取ったパラメータをチェックし、ユーザ名とパスワードの認証をとるところまではできています。しかし、その後にどうすべきかがわかりません。locationで、もとのHTMLファイル(index.html)を指定しても、ログインを認証したという情報は保持しておらず、それでは意味がありません。 Perlでログインを認証した後に、認証したという情報を保持したままHTMLページに遷移する事は可能でしょうか。可能であればその方法を教えていただきたく思います。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • グローバルIPアドレスの取得について

    1) 下記の認識が合っていますでしょうか。 (1)大きな会社は、会社単位で、グローバルIPアドレスを持っており、 そのグローバルIPはアドレスは、公開されている。 (2)また、そのグローバルIDアドレスは、技術的に自社ホームページに アクセスされた会社側で取得が可能。 2)大きな会社のグローバルIPアドレスを調べる方法を教えてください。 3)下記にように、グローバルIPアドレスの利用は可能でしょうか。 自分の会社のホームページにアクセスしてきた人のグローバルIPアドレスを 調べて、そこに営業活動をかければ効率がよいのではないかと考えております。 このように、アクセス情報を取得して、利用することは、法的に問題ないでしょうか。 ※効率がよい、悪いは別にして法的に問題がないか知りたいです。    根拠となる法律が知りたいです。 ※ずばりの法律がなくても、関係する法律名があれば、教えてください。 (下記の認識をしています。) ・ただ、グローバルIPアドレスを持っている会社がアクセスしてきた場合は、 会社名が分かるのみ。 ※どの部署かまでは分からない。 ・グローバルIPアドレスを持たない小さな会社で、プロバイダ経由の 場合は、プロバイダ名が分かるのみ。 以上

  • PerlでIPアドレスを取得する方法

    Perl5.6 or 5.8を使っております。 環境変数からIPの取得をするのは、CGIで動いている前提?ですが、 CGIでなくてperlスクリプトが単体で動作した場合に他の例えばサーバーのアドレスを知るにはどのようにしたらよいのでしょうか? 自アドレスはgethostbyaddrで取得できます。 REMOTE_ADDRの値を取得したいです。

    • ベストアンサー
    • Perl
  • 指定IPのアクセスだけを許可

    現在、ホームページを運営しております。 指定した会員だけが入れるページを作りたいと思っています。 そこで、「指定IPアドレスのアクセスだけを許可し、その他のIPドレスはアクセス禁止」のようなことが簡単にできるのでしょうか?できるとすればどのようにすれば良いのでしょうか。

  • 送信者のIPを取得するには

    現在メールフォームを作っています。 送信者の情報を取得する作りにはしていません。 迷惑メールが届き出してからでは遅いので、 ホスト名やIPアドレスを取得するフォームにしたいのですが、 <INPUT TYPE="hidden" NAME="env_report" VALUE="取得したい情報の属性"> という記述をCGIファイルに書けばいいのでしょうか。 また、下記の記述をどこに書くのかも分かっていません。 REMOTE_HOST 送信者(入力者)のホスト名 REMOTE_ADDR 送信者(入力者)のIPアドレス どなたかご教授をお願いします。

  • ウェブページのHTMLの記述によるリダイレクトの設定方法

    ホームページビルダー13なのですが、 運営しているWEBサイトのアドレスが変わるために、 ウェブページのHTMLの記述によるリダイレクトの設定方法『<meta http-equiv="Refresh" content="0;URL=新アドレス">』をHTMLの<head>内に記述して保存すると 強制的に『<META http-equiv="Refresh" content="0;URL=UTF-8">』と新アドレス部分がUTF-8とかってに書き換えてしまいます。どうしたら書き換えずに保存できるのでしょうか。よろしくお願いいたします。