スクリプト概要
PHPは PHP4 以降のバージョンであれば動くと思います。
マルチバイト文字列関数が使えるサーバーである必要があります。
機能
リファラー取得による逆アクセスランキング
URL登録による置換
拒否URL登録
同一IPによる連続アクセス規制(分単位で設定可能)
ログ管理
「ログの日数設定」 or 「一月毎にログを管理」 or 「最近の○日間」の選択
解説
ダウンロード後解凍し、そのままアップロード下さい。
パーミッションは以下のように設定下さい。うまく動作しない場合サーバー側のパーミッション設定を確認下さい。
[ディレクトリ | ファイル] simaccess |- data(707 or 777) |- config.ini(606 or 666) |- data.log(606 or 666) |- deny.dat(606 or 666) |- ip.log(606 or 666) |- lock.dat(606 or 666) |- time.dat(606 or 666) |- url.dat(606 or 666) |- style |- access.php |- deny.php |- index.php |- init.php |- log.php |- login.php |- rank.html(606 or 666) |- rank.php |- set.php |- style.css |- url.php
init.php の変更を行う
// ランク表示用HTMLの文字コード(ランキングを表示するページの文字コードにあわせてください)
// ASCII,JIS,UTF-8,EUC-JP,SJIS きちんと設定しないとエラーが出るので注意
define("ENCODE", "UTF-8");
// ログインID
define("LOGIN_ID", "id");
// ログインパスワード
define("LOGIN_PASS", "pass");
・"UTF-8" を rank.html を表示するページの文字コードに変更する
・ログインID を任意の ID に変更する(例:"id" → "definir")
・ログインパスワードを任意のパスワードに変更する(例:"pass" → "miklabo")
出力するHTMLを変更したい場合は rank.php の 15行目~41行目 ぐらいを変更してください。
簡単な変更例として 15行目の
$keep = '<table cellspacing="0">';
を
$keep = '<table class="ranking" cellspacing="0">';
という風にクラスを追加して、後はスタイルシートを書くだけで簡単にデザインを変更できます。
使用方法
アクセスを取得したいページに以下を追加します。
img のパスは設置したディレクトリに変更して下さい。
<script type="text/javascript" language="javascript">
<!--
document.write("<img src=\"./simaccess/access.php?ref=" +
document.referrer + "\" style=\"width:0;height:0;border:0;\" />");
// -->
</script>
ランキングを表示したい所に以下を追加します
rank.html を読み込めばいいのでこれ以外の方法でも可能です。
<?php include("rank.htmlへのパス"); ?>
ダウンロード
履歴
■ 2010/05/23
ランキング生成方法に「最近の○日間」で生成出来るように機能を追加。
(例 - 7日間に設定した場合 : 5/17 - 5/23 のランキング, 次の日は 5/18 - 5/24 のランキング)
その他微修正
■ 2010/04/02
日付で管理に設定しているにも関わらず、月が変わると強制的に新しくログが作成させるようになっていた部分を修正
URL 置換に登録していない URL をランキングに表示するかどうかを選択できるように追加
スクリプトの文字コードを UTF-8 に変更
2009/07/09 アクセスログの保存順序を変更
2009/07/03 アクセスログの区切り文字をタブに変更
2009/06/21 公開
