UA偽装だけでは突破できないサイトのためのスマホ偽装【Firefox編】

Change Language▸English
先日パソコンでとあるサイトを閲覧しようとしたら、「スマホでアクセスしてください」と言われ。
FirefoxやChromeにあるスマホエミュレート機能で閲覧しようとしても「おまえスマホじゃないだろ」とかたくなに拒否してくる。
別にスマホでアクセスすりゃ良いだけなんですが、こうなると意地でもパソコンから閲覧したくなるというものです。
ちょっと調べてみたら、どうやら普通のサイトがユーザーエージェントで判定するだけの所を、別の値をチェックしているということで……。
ユーザーエージェントだけじゃないスマホ偽装の方法、何かの役に立つかもしれないのでメモしときます。
いつもの通り、真似する人は自己責任でどーぞ。

javascriptでユーザーエージェント以外の値をチェックしているサイトがある

調べたところjavascriptでは「navigator.platform」という値をチェックすると、「Win32」とかそのブラウザが動作しているOSの値が返ってくる「ことになっています」。
ただしブラウザによってはこれが空文字だったりすることもあり、既にこの機能は「非推奨」となっています。
そのため、これに頼った動作をするシステムは今どき多くないハズ。
なるほど、だからこれまで知らなかったのか……。

Firefoxでは、navigator.platformの値を好きに変更できる

はい、いつものアドレスバーに「about:config」打ち込むやつです。
これができるからFirefoxはいいよね!
「general.platform.override」で検索すると、「真偽値」「整数値」「文字列」と出てくるはずです。
現時点では設定自体が無いので、自分で好きに作りましょう。
「文字列」を選んで、一番右のプラスアイコンを押すと、入力できるようになります。
あとはここに好きな文字列を入れて右のチェックマークを押せばOK。いらなくなったらゴミ箱アイコンで削除しておきましょう。

入れる文字列次第で、iPhoneもAndroidも好きに偽装できる

サイト側がどういう判定しているかは場合によりけりだと思いますが、
iPhoneなら「iPhone」という文字を含む、とか
Androidなら「Linux」という文字を含む、とか
おおざっぱに「Win」を含まないとかそういう判定をしていると思われるので、
とりあえずiPhoneかLinuxにしとけば事足りるハズ。

ほんと、めんどくさいことしてますねー!