Hotmailを利用しているユーザー宛てに時折送られてくる「MSN Explorer使えやゴルァ」メール、ついに「MSN Explorerユーザに抽選で豪華商品プレゼント」作戦が開始されました。
と言っても当選者は全商品合わせて16名。まぁ、当たりっこないのですが、懸賞の類が嫌いではない僕としては応募がしたいわけです。
で、キャンペーンをやっているURLに行って応募方法を見ると、
※ MSN Explorer以外のブラウザではプレゼントにご応募することはできません。
とか書いてあるじゃありませんか。
DLするだけではなく使えと?
なんでも、
※ お気に入りに追加して、MSN Explorerで同じページを見ると”ダウンロードありがとうございました!”ページに変わっています。
ということらしい。
懸賞には応募したい。かと言ってMSN Explorerなんぞ使うどころかインストールしたくもないわけです。
そこで、ソースを見てみました。
<SCRIPT LANGUAGE="JavaScript">
<!--
var isMSNE = (navigator.userAgent.indexOf("MSN 6.1") != -1)? true:false;
var str = "";
str += '<FRAMESET ROWS="100%,*" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" MARGINHEIGHT="0" MARGINWIDTH="0">\n<FRAME SRC="';
str += (isMSNE)? 'after.html':'before.html';
str += '" NAME="mainFrm" BORDER="0" FRAMEBORDER="0" FRAMESPACING="0" MARGINHEIGHT="0" MARGINWIDTH="0" SCROLLING="auto" NORESIZE>\n';
str += '<FRAME SRC="blank.html" NAME="blankFrm" BORDER="0" FRAMEBORDER="0" FRAMESPACING="0" MARGINHEIGHT="0" MARGINWIDTH="0" SCROLLING="NO" NORESIZE></FRAMESET>';
document.write(str);
// -->
</SCRIPT>
はい、
var isMSNE = (navigator.userAgent.indexOf("MSN 6.1") != -1)? true:false;
この行でUserAgentの判断してますね。
JavaScriptの知識なんぞなくても、ちょっと見ればそんなことはわかります。
そこでUserAgentを騙ってみようと愛用のDonut Rの設定を弄るのですが…
…応募ページへの道が示されません。確かにMSN 6.1を含んだ文字列にしているのに。
どうやら、SSIやCGIのHTTP_USER_AGENTで取得する方法とは別の方法でUserAgentを手に入れているみたいです。
仕方ないので
str += (isMSNE)? 'after.html':'before.html';
この行に着目。
先ほどの行で得た判別結果を元にURLの振り分けを行っているようです。
どうやらtrueの場合はafter.htmlに跳ぶようになっているらしいので、実際に跳んでみました。
見事「
ダウンロードありがとうございました」との表示が。
こうして無事、懸賞に応募できましたとさ。
しかし、ユーザがスクリプトの実行を切っていたらどうするつもりなんだろう?
少し前のmsn.co.jpがIEもしくはMSNE以外の締め出し事件の際には、面白いことになったんですが。
ソース見た限りでは何も表示されないですね。noscript要素の影すら見当たらない上、
<NOFRAME>
<BODY LEFTMARGIN="0" TOPMARGIN="0">
</BODY>
</NOFRAME>
やる気が微塵も感じられません。
参考までに、UserAgentをSSIで取得した場合とJavaScriptで取得した場合の違いを見てみましょうか?
SSI
(HTTP_USER_AGENT)
|
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
|
JavaScript
(navigator.userAgent)
|
|
…と、まぁ、UserAgent騙ってる人の真実が見えるわけですよ。
誰か、JavaScriptのnavigator.userAgentを騙すUserAgent騙りツール作ってくれないかなぁ…