13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FirefoxでuserAgentを偽装する

Last updated at Posted at 2020-07-13

前書き

userAgentを使ってアクセス元のOSとブラウザを判定する(JavaScript) で実装したuserAgentをつかってOSやブラウザの情報を取得して表示するJavaScriptとHTMLの動作を確認するために、ブラウザのuserAgentを偽装する。
Chromeでもやれそうだったが、Firefoxでやることにした。
Firefoxのユーザーエージェントを変更(偽装)する - 歌うキツネ (2016年9月末 更新停止)をヒントにやってみた。プラグインは使わず、about:configをいじった。

userAgentの一覧は
List of User Agents - WhatIsMyBrowser Developers
を見てOSやブラウザを変えてuserAgentの文字列をコピペした。

このテクニックを悪用しないように。

デフォルトの状態を確認

色々やる前に、userAgentを使ってアクセス元のOSとブラウザを判定する(JavaScript)で実装した機能をFirefox 78.0 (Windows 10)で実行するとどうなるかを載せておく。
2020-07-14 (6).png

about:config

Firefoxを開き、アドレスバーにabout:configを入力。自己責任だよ、という注意書きがでるので、望むところだ、と回答して編集ページを開く。最近のFirefoxだと設定項目を一覧にするのではなく、検索させるようになっているようで、テキスト欄が出てくるだけ。
2020-07-14.png

general.useragent.overrideを入力する。該当する設定項目がない場合は、新規入力モードになるようで、その項目のデータ型を聞いてくる。もちろん文字列を選択し、+ボタンをクリック。
2020-07-14 (1).png

画像は「文字列」を選択する前に撮ったので注意。

で、List of User Agents - WhatIsMyBrowser Developersから適当なuserAgentの文字列をもってきてコピペし、チェックマークをクリックするとuserAgentにセットされる。
たとえばmacOS 10.15のSafari 13.1をセットした場合はこんな感じ。

コピペしたらチェックマーク
2020-07-14 (5).png

セットされる。
2020-07-14 (8).png

で、htmlファイルを実行(ページをリロード)。
2020-07-14 (7).png
表示がmacOS 10.15.4とSafari 13.1に変わる。

元に戻す

元に戻す場合は、general.useragent.overrideのゴミ箱アイコンをクリックして消す。htmlファイルをリロードすると、デフォルトに戻っていることが確認できる。

終わりに

userAgentを使ってアクセス元のOSとブラウザを判定する(JavaScript) でも書いたようにuserAgentは廃止される可能性が高い。少なとくもGoogle Chromeでは廃止されるし、他のブラウザも追従する可能性が高い。
なので、このテクニックも近いうちに使えなくなるかもしれないが、web開発者向けにUser-Agent Client Hintsを一時的に偽装するような方法は生み出されると思う。悪用はしない(再度)。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?