#!/usr/bin/perl ;######################## ;#WebPackHP管理システム # ;# ログ蓄積 # ;# Created by Chief # ;# Created at 04/12/22# ;# Modified at 05/02/11# ;######################## ;#●共通スクリプト読込 require 'include.cgi'; ;#●アクセスライブラリ require $hp_value::DIR_LIB.'/'.$hp_value::LIB_ACCESS; ;#●フォーム処理 %FORM=&webpack'decode(); ;#●ログ設定読み込み ($FLAG,$MODE,$CULUM,$EXPIRE) = &hp_lib'logConfGet($FORM{'ClientName'}); ;#●機能分割 if($FORM{'mode'} eq 'count'){ #解析用ログの追加(カウンタ表示あり) &count(); }elsif($FORM{'mode'} eq 'count_no_show'){ &count(); }elsif($FORM{'mode'} eq 'page'){ #解析用ログの追加(ページ用) &page(); } ;#空白出力 @array = ( "47","49","46","38","39","61","01", "00","01","00","80","01","00","00", "00","00","ff","ff","ff","21","f9", "04","01","00","00","01","00","2c", "00","00","00","00","01","00","01", "00","40","02","02","4c","01","00", "3b"); print "Content-type: image/gif\n\n"; foreach (@array) { $data = pack('C*',hex($_)); print $data; } exit; ;#●解析ログ追加&カウンタ表示 sub count{ ;#変数確保 my($count); my($HTTP_REFERER,$HTTP_USER_AGENT,$OS,$REMOTE_HOST,$REMOTE_ADDR); local(@BASE_LOG); ;#現在時刻を取得 my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=&hp_lib'set_date; $Date=sprintf("%04d:%02d:%02d:%02d:%02d:%02d",$year,$mon,$mday,$hour,$min,$sec); ;#ユーザ環境判定 ($REMOTE_HOST,$HTTP_REFERER,$HTTP_USER_AGENT,$OS)=&hp_access'analize(0,$ENV{'HTTP_REFERER'},$ENV{'REMOTE_HOST'},$ENV{'REMOTE_ADDR'},$ENV{'HTTP_USER_AGENT'}); ;#ログの読み込み $count=&hp_disk'load_new($hp_value::DIR_DATA.'/'.$FORM{'ClientName'}.'/'.$hp_value::DIR_LOG.'/'.$hp_value::FILE_ACCESS,$hp_value::DOCS_ACCESS,*BASE_LOG); if($count==0){@BASE_LOG=();} ;#ログを追加 push(@BASE_LOG,",".$Date.",".$REMOTE_HOST.",".$HTTP_USER_AGENT.",".$OS.","."\n"); $count++; ;#ログの記録 &hp_disk'make($hp_value::DIR_DATA.'/'.$FORM{'ClientName'}.'/'.$hp_value::DIR_LOG.'/'.$hp_value::FILE_ACCESS,$hp_value::DOCS_ACCESS,*BASE_LOG); if($FORM{'mode'} eq 'count_no_show'){return;} ;#HTMLを出力 &webpack'html_head(''); print<<"EOF";
EOF print"\t"; if($MODE == 0){ #テキストモード for($i=0;$i<$CULUM-length($count);$i++){ print"0"; } print $count; }elsif($MODE == 1){ #グラフィカルモード for($i=0;$i<$CULUM-length($count);$i++){ print ""; } foreach (0..length($count)-1) { my($img) = substr($count,$_,1); print ""; } } print"\n"; print<<"EOF";