アクセスログに「function()...」

これまた需要が少なそう(無さそう)な話題ですが……。

かなり以前から、アクセスログにおかしな文字列が残るようになりました。

真・対spam最終兵器『IPスパムフィルタ』 : 亜細亜ノ蛾

具体的に書くと、こんなアクセスです。

/mt/.../function(){return this.inject(...)} HTTP/1.1

function() を含むアクセスは、少なくとも MT ではありえないので、全て 403 Forbidden. を返すようにしていました。しかし、なにしろ一日に何百も同じようなアクセスがあるので、アクセスログのエラー項目が役に立たない……。

MT が出力している (X)HTML を調べても、どこにも function() なんてリンクは無いし、もしかして不正アクセス? と悩んでいました。

Firebug で解決

先日、ようやく Firebug で原因を突き止めました(約一年間、なにやってたんだろう)。

Firebug は JavaScript が生成した後の HTML を見られるので、おかしな記述が発見できました。Firebug と作者に感謝!(トレードマークを G と間違えてごめんね)

はたして、その原因とは?

──まぁ、タイトルでネタバレですが。

MyBloglog のコードを更新

ということで、MyBloglog を使っている人は、(かなり以前に)ブログに埋め込むコードが更新されているので、確認しましょう。

以前はこういうコードだったのが、

<script type="text/javascript" src="http://track.mybloglog.com/js?mblID=xxxxxxxxxxxxxxxx"></script>

こう(微妙に)変わっています。このコードにしないとダメだったわけです(それくらいリダイレクトしてほしいけど)。

<script type='text/javascript' src='http://track.mybloglog.com/js/jsserv.php?mblID=xxxxxxxxxxxxxxxx'></script>

変更前のコードだと、何故か変な CSS へのリンクを生成します。こんな感じ。

<link rel="stylesheet" type="text/css" href="function() ...">

──えっと、殴っていい? みたいな。しかも、いくつもこの <link> タグを生成する、という……。

それで、コードを新しいものに書き換えたら、あっさり直りました。

しかし──こういったことが起こるようなサービスは、ちょっと継続して使用するのが考えものですね。前述したとおり、サーバ側のリダイレクトで対処できるはずだし、そもそも埋め込むコードを変えないで欲しい。

「Research Artisan」をオススメ

クリック計測だけならリサーチアルチザンでできるので、MyBloglog は利用しないことに決めました。

Research Artisan、いいアクセス解析ですよ! アクセス数などのランキングもできるし、お勧めです!

[2] このページの一番上へ戻る