ABP フィルタ職人入門:JavaScript を読むときのポイント
前回 の JavaScript 解析ツールの紹介ではスクリーンショットを中心に紹介した。現時点でツールは万全ではないので解析に失敗することもある。最悪の場合コードを読む必要があるわけだが、頭から末尾まで通しで読むことは少ない。なぜなら「特徴」に当たりをつけて検索してみるからだ
アクセス解析・トラッキングの特徴
- 基本的に img もしくは iframe タグを利用(JavaScript で img や iframe タグを動的に生成することもある)
- 表示する必要はないので WIDTH や HEIGHT 属性値が 0 または 1 であることが多い(俗称:0x0、1x1)。スタイル指定で display:none や visibility:hidden と併用もある
- ユーザー固有 ID を生成する場合は random 関数が利用される(floor 、 ceil 、 round と併用が多い)。こんな感じ:Math.floor((Math.random() * 数値)、Math.round(Math.random() * 数値)
- 生成されたユーザー固有 ID は img, iframe, script タグの src 属性中に設定されたり、cookie に保存されたりする
- ヒートマップのようにマウス位置を調べるのには event オブジェクトの各種プロパティ(clientX, clientY, screenX, screenY 等)が使われる
- アクセス解析では screen オブジェクトのプロパティ(色情報:colorDepth、幅:width、高さ:height)が使われる