#!/usr/local/bin/php
<?php
$fName = $argv[1];
$fp = fopen($fName,"r");
if (!$fp)
{
exit;
}
while (!feof($fp))
{
$buf = fgets($fp,4096);
$str = rawurldecode($buf);
$str2 = mb_convert_encoding($str,"EUC-JP","UTF-8");
print $str2;
}
fclose($fp);
?>
とまぁ、いいかげん極まりない(エラーチェックが少なすぎ)コードなんだが、恥を忍んで晒してみた ^^; これを logconv という名前で /usr/local/bin に保存。#!/bin/sh DATE=`date +%y%m%d%H%M%S` LOGDIR="/var/log/apache" LOGFILE=access_log CURRENTLOG=$LOGDIR/$LOGFILE LATESTLOG=$LOGDIR/$LOGFILE.$DATE # stop apache /usr/local/apache/bin/apachectl stop > /dev/null # log rotate mv $CURRENTLOG $LATESTLOG # start apache /usr/local/apache/bin/apachectl start > /dev/null # webalizer to make dns_cache cat $LATESTLOG | /usr/local/bin/webalizer -Q -N 10 - # webalizer to make report /usr/local/bin/logconv $LATESTLOG | /usr/local/bin/webalizer -Q - # compress gzip $LATESTLOGちなみに webalizer は標準入力からログを放り込むと dns_cache だけ作成できる。ホスト名の逆引き用にまずはこのキャッシュファイルを更新。次に logconv で URLエンコードされた検索語句を変換してレポート作成。これで検索文字列のところを文字化けさせずにレポートを作成することができる。
DNSCache /var/log/dns_cache.dbそれから apache のログも自分がアクセスした分はログに残さないように下記の様に変更した。変更ファイルは http.conf。
SetEnvIf Remote_Addr 172.16.xx.xx nolog SetEnvIf Request_URI "^/_mem_bin/" worm nolog SetEnvIf Request_URI "^/_vti_bin/" worm nolog SetEnvIf Request_URI "^/c/" worm nolog SetEnvIf Request_URI "^/d/" worm nolog SetEnvIf Request_URI "^/msadc/" worm nolog SetEnvIf Request_URI "^/MSADC/" worm nolog SetEnvIf Request_URI "^/script/" worm nolog SetEnvIf Request_URI "^/default.ida/" worm nolog SetEnvIf Request_URI "root\.exe"" worm nolog SetEnvIf Request_URI "cmd\.exe"" worm nolog SetEnvIf Request_URI "NULL\.IDA"" worm nolog ErrorLog logs/error_log CustomLog logs/access_log combined env=!nolog CustomLog logs/worm_log common env=worm最初の行で、指定したアドレス(172.16.xx.xx)からアクセスがあったら nolog とフラグ?をセット。
OpenID を使ってログインすることができます。
poker, backgammon, tramadol, casino, insurance, loans