の形で呼ぶ。
//
// anchor_idはフレームを使う場合最低限各フレームごとに設定。お互い他のフレームを書換えたときにへんな干渉をさけるため。
// その他ページの種別毎などで変えてもよいが、あまり小分けにするとcookieが増える。
// 同じanchor_idで保存されるcookieは1セットのみ。でも単独ページ表示のサイトなら概ねこれで充分。
anchor_id = "anc_main";
noanchor = false; // bodyにanchorをしかけたときなど場合によって一時無効にするためのフラグ。
// アンカーの記憶。
function anchor_save(object_id, page_id) {
if(noanchor) { anchor_erase(); return; }
get_scroll();
setcookie(anchor_id+"_pid", page_id, 0);
setcookie(anchor_id+"_st", scroll_top, 0);
setcookie(anchor_id+"_sl", scroll_left, 0);
if(object_id) {
object_top = scroll_top + get_object_top(object_id);
object_left = scroll_left + get_object_left(object_id);
setcookie(anchor_id+"_oid", object_id, 0);
setcookie(anchor_id+"_ot", object_top, 0);
setcookie(anchor_id+"_ol", object_left, 0);
} else {
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
}
// アンカーの適用。
function anchor_apply(page_id) {
if((saved_page_id = getcookie(anchor_id+"_pid")) && page_id != saved_page_id) { return; }
get_scroll();
if((anchor_st = getcookie(anchor_id+"_st")) != "" && (anchor_sl = getcookie(anchor_id+"_sl")) != "") {
anchor_st = parseInt(anchor_st);
anchor_sl = parseInt(anchor_sl);
} else {
anchor_st = scroll_top;
anchor_sl = scroll_left;
}
if((object_id = getcookie(anchor_id+"_oid"))
&& (anchor_ot = getcookie(anchor_id+"_ot")) != ""
&& (anchor_ol = getcookie(anchor_id+"_ol")) != "") {
offset_top = (scroll_top + get_object_top(object_id)) - parseInt(anchor_ot);
offset_left = (scroll_left + get_object_left(object_id)) - parseInt(anchor_ol);
} else {
offset_top = offset_left = 0;
}
window.scrollTo(anchor_sl + offset_left, anchor_st + offset_top);
}
// アンカー消去。あえてとっておく必要がなければanchor_apply()後すぐ消去が望ましい。
function anchor_erase() {
setcookie(anchor_id+"_pid", "", -1);
setcookie(anchor_id+"_st", "", -1);
setcookie(anchor_id+"_sl", "", -1);
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
//-->
IRORIBATA
使い方
|
|
アクセスログの記録
IRORIBATAではページアクセスについて簡単なアクセスログを記録しています。 以下のような項目です。 | | 項目 | 詳細 |
|---|
| 1 | 通算アクセスカウント | 検索ロボットのアクセスを含めたカウント。 | | 2 | カウンター値 | 検索ロボットアクセスを除いた実質のページアクセス。 | | 3 | 初回アクセス | このサイトに最初にアクセスしたときのカウンター。 | | 4 | 来訪回数 | このサイトにアクセスした回数。 | | 5 | 接続IP | 接続IPアドレス。 | | 6 | 接続名 | 接続ホスト名。但しHTTPサーバーに接続ホストのLookupが設定されている必要あり。 | | 7 | ブラウザ/OS | アクセスしてきたブラウザとOSの情報。 | | 8 | 状態 | 閲覧/編集/ログインなどの状態。 | | 9 | ログインID、PW | ログインユーザ名、パスワード。 | | 10 | 接続日時、時間 | 接続した日時と最期のリクエストまでの時間。 | | 11 | ページアクセス回数 | ページを読み込んだ、あるいは書き込んだ回数。 | | 12 | 参照元、リクエスト | 参照元(Referer)、最初と最期のリクエスト。 | | 13 | その他詳細情報 | 上記以外に各種情報が「ひみつの情報」として記録されます。管理者のみ見れます。 |
|
アクセスログの表示
このアクセスログは編集(管理)モードで<アクセスログの表示>をクリックすれば見ることができます。 設定すれば一般公開も可能です。
アクセスの特定には、ipアドレス,接続名,ブラウザ名,cookie などを複合的に処理しています。
|
アクセスログのイメージです。クリックで拡大表示します。一部ぼかしいれました。
|
簡単な表示選択機能があります。 (1)検索アクセスを除いて表示 (2)再来訪アクセスのみ表示 (3)リンクからのアクセスのみ表示 (4)閲覧アクセスのみ表示 (5)編集アクセスのみ表示 (6)すべて表示 などです。
アクセスログから指定の文字列を含むアクセスを検索し表示する機能はあります。 集計機能はありませんが、ログされている内容については検索機能を使えば大まかな 傾向は把握できます。
記録件数はディフォルトで1000件で古いものから消去されます。 サーバーパワーに余裕があればさらに増やすことは可能ですが、ページの表示は少し遅くなります。
|
アクセスログによるアクセス制御
アクセスログは通常のアクセスからあやしい情報収集アクセスまで判断しやすいようにさまざまな面からアクセスの内容が記録されています。 アクセスしてくれた人がわかれば名前や詳細を登録して再度アクセスしてくれたらわかるようにしたり、あるいは歓迎せざるアクセスについてはアクセスログ上から簡単に以下のようなアクセス制限をかけたりすることもできます。 | (1) | 該当するアクセスのログを赤枠で囲って注意喚起を表示。 | | (2) | 閲覧認証がなくてもゲストログインを要求。実質ロボットよけ。 | | | ログイン情報は guest:guest だよーと表示するので人間ならログインしてくるだろう。 | | (3) | 完全無返答。無条件に接続を切断。ログにも記録されずもうアクセスがあったこともわかりません。あまり使うべきではないのですがログを埋め尽くすような迷惑アクセスには絶大な効果があります。 |
|
|
|
|