最終更新 2025年10月12日
きりしま式 access cgi とは
at works - access cgi をきりしまが自分の管理するサイトのアクセス解析用に改造していたものを、 at works 閉鎖に伴い、再配布しよう、というものです。
Google Analytics のような強力で多機能なアクセス解析ツールが無料で提供されていますが、アクセス数の少ない小さなサイトを緻密にアクセス解析するには access cgi のようなツールの方こそが適していると思うのです。
【脆弱性についてのご指摘を戴きました】
参考:コードから見るDOM Based XSSの原因と対策方法 - ソフトウエア - Tech-On!
匿名でのご指摘を戴きました。リファラを取得するためのコードに脆弱性があるそうです。
調べてみたところ、脆弱性への対応だけなら、
report.js (または直接埋め込んでいるコード)などの
var ref = 'ref=' + document.referrer;
となっている部分を
var ref = 'ref=' + encodeURIComponent(document.referrer);
として、これによりエンコードされたリファラ文字列を受け取った後packすればよさそうです。
report.cgi に
;#-------------------------------------- ;# リンク元をチェック my ($ref_incode);
の直後に
;#-------------------------------------- ;# リンク元をチェック my ($ref_incode); $ref_data =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
として、リファラ文字列をデコードしたらいいのではないか、と思って、それだけやってみました。
(下記、ver.4.14改2を参照ください)
検索キーワードが確認できない問題
access cgi には「検索語」という機能がありますが、2025年現在においてはほぼ機能しません。これについて説明しておきます。
主要な検索エンジンでは、訪問者のプライバシー保護を目的として2011年ごろから順次、検索結果ページを HTTPS(暗号化通信) に移行しました。
Google が最初に暗号化検索を導入したのは 2011 年で、2013 年にはほぼすべての検索が HTTPS 化されています。
その後、Bing(Microsoft)も 2015 年に同様の暗号化対応を標準化し、現在では Yahoo! や DuckDuckGo を含むほぼすべての検索エンジンが同じ方針を取っています。
従来のアクセス解析ツールは、検索エンジンから送信されるリファラ(参照元 URL)内のクエリパラメータ、たとえば
https://www.google.com/search?q=検索キーワードのような ?q= 部分を利用して検索語を取得していました。つまり以前は検索エンジン側から検索に使われたキーワードがわざわざ提供されていたような状態だったのです。
しかし HTTPS 化以降、検索エンジンはリファラにこのクエリパラメータを含めなくなり、ブラウザの Referrer-Policy 仕様によっても外部サイトへは検索語が渡らない設計となっています。
そのため、アクセス解析ツールでは現在、検索エンジンからのオーガニック流入を検知することはできても、実際に使用された検索キーワードを取得することは技術的に不可能 です。
検索語を確認できるのは、Google Search Console のような検索エンジン自身が提供する専用管理ツールのみです。
この挙動はアクセス解析ツールの不具合や設定の問題ではなく、検索エンジンおよびブラウザの設計変更によって検索語が外部に提供されなくなった結果 です。
2010年代前半に確立したこの仕様は、訪問者の検索履歴や関心が第三者に伝わらないようにするための、プライバシー保護を重視した設計 に基づいています。
直接連携するわけではありませんが、どのようなキーワードで訪問されているかを知るには Google Search Console の利用を検討ください。
access cgi - 解説 (ver.4.14)
- 4.14のreadmeを下記に展開してありますので、このサイトで説明していない部分の参考にしてください。
なお、きりしま式に合わせて編集したりせず当時のオリジナル版のままの内容です。(at-worksへのリンクのみ関係ないサイトに飛ばされてしまうのであえて外しました)
access cgi - オリジナル版ダウンロード (ver.4.14)
- まずベースとなっているオリジナル版です。
- access_cgi_414.lzh
- readme_414.lzh
- きりしまがダウンロードした当時モノです。2006年6月7日のタイムスタンプになっていました。
きりしま式 access cgi ダウンロード (ver.4.14改2)
- きりしまが使用しているものをZIPで固めました。 agent.pl と search.pl も最新のものが同梱されていますので、別途ダウンロードする必要は現状ありません。
- access_cgi_414k2.zip 2013/9/29 DOM Based XSSに対応したつもり版
- agent.pl UserAgent解析プラグインのみ
search.pl 検索エンジン解析プラグインのみ - search.pl 2013/9/27版 アクセスログから判別対象の検索サイトを追加しました
- access_cgi_414k.zip
きりしま式 access cgi ダウンロード (ver.4.14改2以降)
- 特にプログラム自体が変わったわけではないですが、現在も利用しています。
- agent.pl 2022/2/19版 UserAgent解析判定を追加。Robot/Crawler、PS4、IE11、Chromeのバージョン表記を小数点2つめまででカット、Android、iPad、iPhoneのバージョン表記、Mac OS の各バージョン、Windows 10、Windows 8.1
きりしま式 access cgi ダウンロード (ver.4.14改3)
- サーバー側のプログラムが新しい場合に対応しようと修正したバージョンです。2022年3月に契約したさくらのレンタルサーバーで動作しているものを反映したつもりです。大して手を入れてはいないと思いますが、とりあえず一式固めてみました。
- access_cgi_414k3.zip 2022年11月20日
きりしま式 access cgi ダウンロード (ver.4.14改4)
- iOSでボタンの文字が見えなくなる(白背景に白文字)ため、ボタンへのスタイルシートの適用を削除したものです。template の replist,html の変更だけで機能的には特に変わってはいませんが、時間が経っているので一式にしています。他のOSではボタンの背景が白から標準色のグレーになっています。
- access_cgi_414k4.zip 2024年9月20日
- iOSでは「削除」と検索の「※」も白背景に白文字となるため、こちらはスタイルシートの背景色指定を削除しました。iOSでは青背景に白文字、他のOSでは、グレーの背景に黒文字に見えます。template 内の replist.css を上書きしてください。スタイルシートの差し替えは表示結果に反映されるまでに時間がかかるかも知れません。
- replist_414k41.zip 2025年2月5日
1:はじめに
このアクセス解析 CGI Script - access cgi は、KENT 氏が KENT WEB にて公開されている Access Report を基礎にして大幅な改造・機能追加を行ったスクリプトである、 at-works access cgi を少し改造したものです。Webを使用した再配布、改造版の配布は禁止されていませんので、配布元サイトの閉鎖後、復活の兆しがないので再配布に踏み切った次第です。
再配布の条件に関する細かい話は当時のドキュメント(最下部の「改造版」)を参照してください。
Google Analytics のような強力なアクセス解析が無料で利用できるようにはなりましたが、個別の訪問者の足取りを追跡したりしようとすると、かなり大味感がします。サイトを公開して間もない場合や、大量の訪問者が訪れるわけではないひっそりとしたサイトの運営には、access cgi によるアクセス解析の方が効果的と考えます。
2:主な改造点
基本となる詳細表示の各行の表示を「参照元→参照先」という表示にして、ページの遷移が見やすくなるようにしました。
agent.pl search.pl に自サイトのログから条件を追記しています。
このスクリプトから、参照元などを閲覧した際に、あちらから逆探知された場合、最初のパスワード入力画面で、どのサイトのアクセス解析なのか、別のサイトにアクセス解析を設置している場合などに使えるようにしてあります。
3:設置方法
オリジナル版と違わないはず、と思っています。
replist.cgi の先頭のほうに逆探知してアクセスしてきた方にどこのアクセス解析か伝えるための
このアクセスログが解析しているサイト名
このアクセスログが解析しているサイトのURL(''=非表示)
という設定項目があるので、設置目的に合わせて編集してください。
4:使用条件
KENT WEB の Access Report 、 元の access cgi の使用条件に準じます。特に追加することはありません。
5:著作権
元の access cgi の readme を参照してください。(ダウンロードできる readme_414.lzh ファイルの内容を展開して置いてあります)
更なる改造版
きりしま式 access cgi のさらなる改造版についても、元の access cgi の意思を尊重しますので、著作権情報の削除及び非表示を行わない限り配布も可能です。配布の際には、当該改造版の著作権情報を必ず追加しておいてください。
また、きりしまへの連絡も不要です。