忍者ブログ

Tomoの忍者ブログ

札幌在住のTomoが日々の出来事を綴っていくブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHPファイルを中心に埋め込み式のアクセスログ解析に変更

こんばんは、Tomoです。
久々の忍者ブログ更新になりますね。
今回は、僕のネット関連の変更事項について書きます。

当方、自宅サーバーをはじめ000webhostやsitemixのホームページを運営中であり、
そしてつい最近にX SERVER(エックスサーバー)でホームページ運営を始めましたが、
その中でPHPのコンテンツをいくつか使用しています。
自宅サーバーに至ってはPHPファイルがトップページです。
tomo1977.dip.jp/index.htmlはありません。index.phpです。
それらのPHPファイルに記述していたアクセスログ解析のソースを
JavaScriptタグ貼りつけ方式から埋め込み方式
(PHPのincludeで呼び出す形)へ変更させていただきました。

アクセスログ解析といえば、忍者アクセスログ解析やその他類似サービスでは
指定のJavaScriptタグをHTMLファイルのソースに貼りつけて利用するのが一般的ですが、
その方式だと、ちょっと困ったことが少なからずありますよね。
例えば以下のようなことです。

ネットの知識が中級から上級の人には避けられる

ネット初心者ならホームページを閲覧してもアクセス解析でIP情報やどこから来たか、
どんな検索ワードで辿りついたかってことを管理人に知られていると気付いていないかもしれませんが、
ネット中級者以上の方は、ホームページを見ただけでアクセス解析を入れているページだとわかってしまいます。
ページの左上あるいは右上の方に特定のバナーが表示されているのに気が付くだろう。
人によってはページのHTMLソースをわざわざ見てくる人も居るかもしれません。


<html>
<head>
(中略)
</head>
<body>
<!-- アクセスログ解析タグ開始 -->
<script type="text/javascript" src="http://example.com/acc.cgi"></script>
(中略)
</noscript>
<!-- アクセスログ解析タグ終了 -->


このソースの<body>タグの下の部分がアクセスログ解析のタグとなります。
ネット中級者以上が見れば一目瞭然でわかっちゃいます。
例えばアクセスログ解析が嫌いな人がホームページに来たとしたら

「うわ、こいつアクセス解析入れてる気持ち悪っ、もうこのサイトもう二度と来ないや。」

となってしまうかもしれません。

また、ネット上級者にもなればアクセスログ解析に自分のIPなどの情報が載らないように
回避するスキルを知っている可能性があります。
自分の情報を載らないように細工してホームページを閲覧くるわけです。
JavaScriptをOFFにしたり、特定のサイト(忍者ログの呼び出しURLなど)をアドオンなどでブロックしたりしてアクセスしてくるのです。
そういうことをする人は大抵悪意を持ってサイトに来る人です。
例えば、叩く目的で2ちゃんねるにサイトのURLを晒したり、サイトの内容をコピペしたりするような人です。
堂々とやると自分のIPが残るので時間帯やアクセスの挙動などから
サイト管理人に「2ちゃんねるに俺のサイトを晒した犯人はこいつだ」と特定されるからです。
私だったらそのようなことをやられたら犯人を特定した場合、以降出入り禁止にしますね。
だからばれないようにIP情報を消してきたりするのです。

つまり、JavaScriptのタグ貼りつけ形式だと「俺のサイトはアクセス解析をしてますよー」と
大声で言っているようなもんなのです。
特に解析バナー画像に特徴があったりが大きかったりするサービスだとばれやすいです(笑)
でもね、無料ブログではPHPファイルを扱えないことがほとんどなので
ブログサービス自体に高性能アクセス解析を搭載してでもいない限り、
JavaScriptのタグ貼りつけ形式のアクセスログ解析に頼ってしまいますよね。
それで時には訪問者に嫌われたり、回避されたりしてしまうのです。

ではホームページだとどうだろう?
HTMLファイルの場合だと、無料ブログ同様JavaScriptのタグ貼りつけ形式に頼らざるを得ません。
しかし、PHPが動くサーバーならアクセスログ解析をやっていることを訪問者に隠すことができます。
さらに、JavaScriptのタグ貼りつけ形式では難しかった検索サイトのクローラや
携帯電話からのアクセスログも詳細に記録できます。
しかも、ネット上級者であれセコイ方法での回避は不可能で、
ページにアクセスしたなら必ずログが記録されます。
なぜPHPファイルだとそのようなことができるかというと、
PHPファイル自体がプログラムとして動作するからです。

では、ページに解析プログラムを載せたり、設置型PHPアクセスログ解析をincludeで呼び出してログを記録する方法です。
今まで通りHTMLのページを作って完成した後、ファイルの拡張子を.phpに変更します。
そのPHPファイル自体にプログラムを仕込むのなら、簡単なアクセスログ解析になります。
僕も以前から一部のPHPファイルではコンテンツそのものに
簡単なアクセスログ解析プログラムを仕込んでログを取っていたりしています。
訪問者がそのページのHTMLソースを確認した場合、何の変哲もないHTMLと同じになります。
ところがギッチョン、そのPHPファイルの冒頭にはこんなソースを書いているんです。


<?php
$cdate = date("Y/m/d H:i:s", date("U"));
$ipaddress = $_SERVER["REMOTE_ADDR"];
$remotehost = $_SERVER["REMOTE_HOST"];
$proxy = $_SERVER["HTTP_VIA"];
$forwarded = $_SERVER["HTTP_X_FORWARDED_FOR"];
$hphost = $_SERVER["HTTP_HOST"];
$hpadrs = $_SERVER["REQUEST_URI"];
$referer = $_SERVER["HTTP_REFERER"];
$agent = $_SERVER["HTTP_USER_AGENT"];

$logfile = "./log.cgi";
$fp=fopen($logfile, "a+");
flock($fp, LOCK_EX);
fputs($fp,"訪問日時:$cdate<br />IPアドレス:$ipaddress<br />リモートホスト:$remotehost<br />
閲覧ページ:http://$hphost$hpadrs<br />リンク元:<a href=$referer>$referer</a><br />
ブラウザ:$agent<br />プロキシ情報:$proxy<br />プロキシ情報(IPアドレス):$forwarded<br />
\n");
flock($fp, LOCK_UN);
fclose($fp);
?>


これは、ログを記録するためのPHPソースです。
そして、以下のようなソースを含む閲覧用PHPファイルも別途に用意していたりします。

アクセスログ表示用ファイルはanalyze.phpとします。


<?php
$logfile = "./log.cgi";
$fp=fopen($logfile, "a+");
rewind($fp);
while(!feof($fp)){
$fileline = fgets($fp);
print($fileline . "<br />");
}
fclose($fp);
?>


上記のようなソースコードはPHPプログラムとしてサーバーで実行された後
サーバーがHTMLとしてブラウザに出力しているため訪問者には見えません。
それと同時に、訪問者側がブラウザの設定を変えて意図的に回避することも当然できません。
つまり、アクセスログ解析をしていることを完全に隠すことができなおかつ
訪問者による意図的な回避が不可能なのです(キリッ

このようなソースコードをPHPファイルに記述する他にも、
includeで別途PHPアクセスログ解析プログラムを呼び出してログを記録する方法もあります。
そして、そのようなPHP埋め込み型アクセスログ解析でおすすめなのが

w3Analyzer

というPHP設置型アクセスログ解析プログラム一式です。
オリジナル作者のサイトでは配布は終了してしまっているようですが、
それの修正版が以下のサイトから手に入りました。

w3Analyzer 修正版 Download

私もつい最近これを知ったので早速自宅サーバーのPHPファイルに埋め込んで使い始めました。
なお、includeによるPHP埋め込みの他、HTMLファイル用のJavaScriptタグも収得できるようになっています。
PHP埋め込みアクセス解析をやってみたい方は是非おすすめです。

これだけでは満足がいかないという方は、アクセス解析専門の有料サービスに頼ってみるのもいいと思います。

しかし、やっぱり有料は嫌だという方もいるかもしれませんので、
無料でおすすめのアクセス解析サービスを紹介しておきます。
説明文はありませんがご了承ください。

「ace-analyzer」





今回はかなり長くなりましたね。
ではこの辺で失礼します。

それでは~バイバイ



忍者AdMax
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

HN:
Tomo
HP:
性別:
男性
自己紹介:
この度忍者ブログを始めさせていただきました。
よろしくお願い致します。

フリーエリア

管理人がお世話になっている買い物先、
おすすめサービス、大切なスポンサー様を紹介しています。

エックスサーバー

カラーミーショップ







最新CM