― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - 引数によって、ホームページが特定サイトになってしまう不具合
作成者 メッセージ
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
本題とはあまり関係のない余談です。
この(頭にwww、尻にcomを付ける)お節介な機能、懐かしさのあまり落涙いたしました。
IEでは現役です(IEが現役かはさておいて)。
https://i.imgur.com/FXRIOn7.png (下部に注目)
おそらく、大昔に「IEは補完してくれるのにMozillaは補完してくれないの?」みたいな話があって
実装されたのではないかと思います
(IEの日本語では特に指定しない場合は尻はco.jpが補完されます)。

Webがすっかり地雷原となった現代では要らない機能ですね。
投稿記事 Posted: 2020年11月19日(木) 00:29
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
最新の mozregression にて二分探索を行ってもう少し範囲を絞れました。
pushlog_url: https://hg.mozilla.org/integration/auto ... 48a4db7b1e

どうやら下記の変更が影響してそうです。
Bug 1654922 - Part 1: Remove DocumentChannel pref usage from tests and document navigation code, r=mattwoodrow!

上記パッチのうち、docshell/base/nsDocShell.cpp の変更差分 を見てください。
この部分は nsDocShell::EndPageLoad() という関数の中にあるのですが、おそらくブラウザがページを読み込んで表示する際に呼ばれるものと思われます。
DNSによる名前解決が失敗した場合にURLに「www.」と「.com」を加える処理が呼ばれていたのですが、それが変更で削除されています。
なお、アドレスバーでURLを打ち込んだ場合には別途URL補完の処理がある(つまり2箇所でURL補完のタイミングがある?)ようです。
したがって引数でURLを指定した場合はここだけということになり、その処理が削除されたので browser.fixup.alternate.enabled の設定に関わらずURL補完されなくなった、ということなのだと思われます。
投稿記事 Posted: 2020年10月17日(土) 00:52
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
EarlgreyTea さん、maji です。

EarlgreyTea さんが書きました:
リリース版では 81.0 ということになります。
EarlgreyTea さんが書きました:
build_date: 2020-08-04 18:39:01.652000
これは Nightly 81.0a1の
ビルドID:20200804091327 と ビルドID:20200804215246 の間になります。

なるほど。
81.0
で変わった、
との事ですね。
投稿記事 Posted: 2020年10月12日(月) 20:58
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
maji さんが書きました:
81.0
81.0.1
の何方のタイミングで今回の変更が実装されたのかは

リリース版では 81.0 ということになります。

EarlgreyTea さんが書きました:
build_date: 2020-08-04 18:39:01.652000

これは Nightly 81.0a1の
ビルドID:20200804091327 と ビルドID:20200804215246 の間になります。
投稿記事 Posted: 2020年10月12日(月) 19:32
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
EarlgreyTea さん、maji です。

EarlgreyTea さんが書きました:
それでこの挙動の変化がいつのビルドからなのかですが、(以下省略)

該当事象を確認した環境の Firefox の
81.0.1 へ更新する前のバージョンは
80.0.1 でした( Firefox更新履歴で確認しました)。

Firefox 80.0.1 のリリースは 2020/9/2 だったかな?

なお該当環境での更新は 80.0.1 → 81.0.1 だったので
80.0.1 以降の

81.0
81.0.1

の何方のタイミングで今回の変更が実装されたのかは
ワカリマセン。


では。
投稿記事 Posted: 2020年10月12日(月) 19:00
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
maji さんが見つけた挙動の変化、興味を引いたので私も調べてみました。

私の方も Firefox 81.0.1 に起動時引数で user3 を与えた場合、
「アクセスしようとしているサイトを見つけられません。」となることを確認しました。
動作ログで調べると、 browser.fixup.alternate.enabled の設定に関わらず、 http://www.user3.com への補完は行われていませんでした。

一方、アドレスバーやブックマークで http://user3 を開こうとすると、
https://www.hugedomains.com/domain_prof ... ser3&e=com にリダイレクトされました。

たぶん、user3 であれば起動時引数に指定した場合と同じになる気がしますが、アドレスバーに打ちこんでも Google検索になってしまいますし、ブックマークに入力した時点で http:// が補完されてしまうので確認はできませんでした。

それでこの挙動の変化がいつのビルドからなのかですが、 mozregression で調べたところ下記の結果を得ました。

build_date: 2020-08-04 18:39:01.652000
build_type: integration
build_url: https://firefox-ci-tc.services.mozilla. ... target.zip
changeset: 720b1bbf1b6dc2b86b4f45313e227048a4db7b1e
pushlog_url: https://hg.mozilla.org/integration/auto ... 48a4db7b1e
repo_name: autoland
repo_url: https://hg.mozilla.org/integration/autoland
task_id: dyv-TznpQ_CUqXYyzF4mLg

上記の pushlog_url には多数のコミットが含まれており、コミットメッセージを眺めただけでは関係ありそうなコミットを見つけられませんでした。
投稿記事 Posted: 2020年10月11日(日) 22:37
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
投稿主の オラオラオラオラオラオラァ! さん、
そしてアドバイスいただいた Sakuraya さん EarlgreyTea さん、
maji です。

maji さんが書きました:
Sakuraya さん EarlgreyTea さん、maji です。
EarlgreyTea さんが書きました:
さっそく browser.fixup.alternate.enabled を false にして試してみました。
User3 を引数にして起動した場合に、ドメイン補完が行われずに
「アクセスしようとしているサイトを見つけられません。」
のエラーページとなることを確認できました。
(中略)
私も Windows機で上記設定で引数 User3 のみで起動時エラーとなる事を確認しました。

この確認をする際に
手元の「ある一つの環境」だけ
browser.fixup.alternate.enabled は規定値の true のままで
コマンドオプションとして

"C:\Program Files\Mozilla Firefox\firefox.exe" -url User3

としたままにしていて
その環境で Firefox起動時に毎回々々
オラオラオラオラオラオラァ!さんが「最初はハックかと思った」サイトを表示させてました。

今日(2020/10/11(日))に
その「ある一つの環境」の Firefox を 80.0.1 → 81.0.1 へアップデートしました。
なぜか
「アクセスしようとしているサイトを見つけられません。」
となりました。
browser.fixup.alternate.enabled は true のままでした。

ちなみにアップ直前の 80.0.1 では
browser.fixup.alternate.enabled は true の状態で
正しく(?)「最初はハックかと思った」サイトが表示されてました。

-----

EarlgreyTea さんが書きました:
maji さんが書きました:
他のブラウザ同様に「アクセス出来ない」旨のエラー表示の方が好ましいのではと思います。
かなりな「お節介仕様」ですね(私見)。
(中略)
個人的には、この挙動は不要で廃止すべきかなと思います。

仕様が変わった(→廃止された)のかもしれませんね。

-----

ページも変わったし
これでこのスレッドの問題は終了かな?

では。
投稿記事 Posted: 2020年10月11日(日) 14:59
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
Sakuraya さん EarlgreyTea さん、maji です。

EarlgreyTea さんが書きました:
さっそく browser.fixup.alternate.enabled を false にして試してみました。
User3 を引数にして起動した場合に、ドメイン補完が行われずに
「アクセスしようとしているサイトを見つけられません。」
のエラーページとなることを確認できました。

この投稿は Linux機からですが、
私も Windows機で上記設定で引数 User3 のみで起動時エラーとなる事を確認しました。

情報ありがとうございました。
投稿記事 Posted: 2020年6月07日(日) 16:00
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
Sakuraya さん、情報ありがとうございます。

さっそく browser.fixup.alternate.enabled を false にして試してみました。
User3 を引数にして起動した場合に、ドメイン補完が行われずに
「アクセスしようとしているサイトを見つけられません。」
のエラーページとなることを確認できました。

この機能をデフォルト無効にすることを要望したいところですね。
実は歴史的にこれの支持者が結構いたりするのでしょうか。
投稿記事 Posted: 2020年6月06日(土) 23:37
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
Sakuraya さん、maji です。

Sakuraya さんが書きました:
実はabout:configを開くと下記のような設定があるので、変更することでこの現象を回避することは出来ます。
コード:
browser.fixup.alternate.enabled
browser.fixup.alternate.prefix
browser.fixup.alternate.suffix
これらは(Firefox開発史の観点から言うと)はるか古代からあり、workaroundとしてはそこそこ有名だったように思います。

Mozilla新参者にとっては新鮮な情報です。
ググってみたら以下の記事を見つけました。
2009年のものです。
Sakuraya さんのおっしゃる内容は以下の記事の記載と同じものでしょうか?

Firefoxチューニング - ドメイン補完機能などをチューニングする | マイナビニュース
https://news.mynavi.jp/article/20090313-fire/

では。
投稿記事 Posted: 2020年6月06日(土) 21:25
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
こんばんは。
実はabout:configを開くと下記のような設定があるので、変更することでこの現象を回避することは出来ます。
コード:
browser.fixup.alternate.enabled
browser.fixup.alternate.prefix
browser.fixup.alternate.suffix
これらは(Firefox開発史の観点から言うと)はるか古代からあり、workaroundとしてはそこそこ有名だったように思います。
投稿記事 Posted: 2020年6月06日(土) 19:28
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
maji さんが書きました:
他のブラウザ同様に「アクセス出来ない」旨のエラー表示の方が好ましいのではと思います。
かなりな「お節介仕様」ですね(私見)。

いくらなんでも、Firefox が HugeDomains.com なる業者に協力しているとは思えなかったので、少し調べてみました。

まず、Firefox のソースコード一式から "hugedomains" という文字列を全文検索してみましたが、見つかりませんでした。
これを踏まえて、アドレスバーに http://User3 と打って hugedomains.com にリダイレクトされてしまう際のブラウザーコンソールの表示を調べてみました。
その結果、次のような流れであることがわかりました。

  1. 「http://user3/」をGETリクエスト
    • DNS解決されない
  2. 気を利かせて「http://www.user3.com」に補完してGETリクエスト
    • 「Location: https://www.hugedomains.com/domain_profile.cfm?d=user3&e=com」が返ってきた
  3. 改めて「https://www.hugedomains.com/domain_profile.cfm?d=user3&e=com」をGETリクエスト

つまり、Firefoxのお節介はあくまで「www.xxxxx.com」形式に補完したことだけで、その後のことは意図しない結果ということです。
この仕様は昔から、Mozilla 1.x の時点からそうだったみたいです。
ちなみに Netscape 6(Mozilla 0.x ベース)ではリダイレクトしないようです。

個人的には、この挙動は不要で廃止すべきかなと思います。
投稿記事 Posted: 2020年6月06日(土) 03:51
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
EarlgreyTea さん、maji です。

まず一つ目。

EarlgreyTea さんが書きました:
ちなみに
https://developer.mozilla.org/ja/docs/M ... ne_Options
引用:
空白の入っているパラメーターをコマンドに使用する場合は、引用符で囲ってください。例: "Joel User"
に関しましては、
コマンドラインを展開・置き換えをしたうえで空白区切りで分割し、
アプリへのパラメーターとして渡しているのは OSのシェルプログラムになりますので、
アプリ側でどうこうできる話ではないということを理解する必要があります。

その通り、ですね。

そもそも投稿主の オラオラオラオラオラオラァ! さんの最初の投稿で示された
オラオラオラオラオラオラァ! さんが書きました:
"C:\Program Files\Firefox Developer Edition\firefox.exe" -no-remote -p Default User3
みたいに
ショートカットアイコンの設定例でも
Program Files
等の空白文字の入ったパス表記全体を引用符で囲ってるので
元々は理解はされてるものだと思います。

とゆ事で
上述の FAQ での「引用符で囲む」云々の表記は
「重要な説明」レベルのものではなく「単なる注意書き表記」でしょう。

次に二つ目。

EarlgreyTea さんが書きました:
maji さんが書きました:
コマンドラインの URL として存在しないものが指定された場合に
問題のサイトへ飛ばされるみたいです(推測)。
それに関してはコマンドラインは関係ありません。
Firefoxのアドレスバーに「http://User3/」などと打ち込むことで再現できます。

テストしました。

Linux版の Mozilla公式サイト版 Firefox で
アドレスバーに「http://User3/」と打ち込んだところ
問題のサイトに飛びました。
とゆ事で
Windows版だけでなく Linux版でも動きは同じですね。

EarlgreyTea さんが書きました:
同じことを他のブラウザで試すと…
  • Internet Explorer 11 「このページを表示できません」
  • Microsoft Edge (Chromiumベース) 「申し訳ございません。このページに到達できません」
  • Google Chrome 「このサイトにアクセスできません」
  • Opera 「このサイトにアクセスできません」
こんな具合です。
こういう動作をすることは、このトピックで初めて気づかされました。

私も今回始めて経験しました。

元々は
コマンドオプションとして

-p Default User3

と記述し
本人の意図としては

-p "Default User3"

だったところを、
空白区切りで実際には

-p Default -url User3

てな解釈の取り込みとなり
文字列「 User3 」が URLとして「 http://User3/ 」と補完解釈された
てな流れみたいです。

もし「仕様」の良し悪しとして議論するとすると
URL部分の記載によっては何故か hugedomains.com のサイトに飛ばされるところかな。
他のブラウザ同様に「アクセス出来ない」旨のエラー表示の方が好ましいのではと思います。
かなりな「お節介仕様」ですね(私見)。


では。
投稿記事 Posted: 2020年6月05日(金) 02:41
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
maji さんが書きました:
コマンドラインの URL として存在しないものが指定された場合に
問題のサイトへ飛ばされるみたいです(推測)。

それに関してはコマンドラインは関係ありません。
Firefoxのアドレスバーに「http://User3/」などと打ち込むことで再現できます。

同じことを他のブラウザで試すと…
  • Internet Explorer 11 「このページを表示できません」
  • Microsoft Edge (Chromiumベース) 「申し訳ございません。このページに到達できません」
  • Google Chrome 「このサイトにアクセスできません」
  • Opera 「このサイトにアクセスできません」
こんな具合です。

こういう動作をすることは、このトピックで初めて気づかされました。

ちなみに
https://developer.mozilla.org/ja/docs/M ... ne_Options
引用:
空白の入っているパラメーターをコマンドに使用する場合は、引用符で囲ってください。例: "Joel User"
に関しましては、コマンドラインを展開・置き換えをしたうえで空白区切りで分割し、アプリへのパラメーターとして渡しているのは OSのシェルプログラムになりますので、アプリ側でどうこうできる話ではないということを理解する必要があります。
投稿記事 Posted: 2020年6月04日(木) 02:01
  記事の件名:  Re: 引数によって、ホームページが特定サイトになってしまう不具合  引用付きで返信する
オラオラオラオラオラオラァ! さん、maji です。
いろいろ書かれてますが
Mozilla/Firefox関連部分のみに反応させてもらってます。

-----

まず一つ目。

オラオラオラオラオラオラァ! さんが書きました:
解決法の提示には感謝します
よく見るとFAQにも書いてあった。
https://developer.mozilla.org/ja/docs/M ... ne_Options
空白の入っているパラメーターをコマンドに使用する場合は、引用符で囲ってください。例: "Joel User"

内容了解です。
とりあえず「引用符で囲って」については
maji さんが書きました:
バグとゆよりも
コマンドライン引数の記載表現の問題かな。
みたいですね。

-----

次に二つ目。

オラオラオラオラオラオラァ! さんが書きました:
>(あ) 使用 OS名およびバージョン( 32bit/64bitどちらかかも含む)
>(い) 使用 Firefox製品名およびそのバージョン
>を提示ください
書かなくても投稿できるのだから、それは仕様欠陥です。ユーザが引責する筋合いではない。

これについては
既に pal さんから
pal さんが書きました:
また、お読みにならない人も多いと思いますが、フォーラムの利用に関するご案内
faq.php?mode=forum
質問するときは
誰もが気持ちよく利用できるよう丁寧に質問しましょう。回答してくれた方へのお礼や感謝の気持ちを忘れずに
とコメントあった通り、
faq.php?mode=forum#f0r2
引用:
Mozilla 製品には様々な種類があります。
また Windows や Mac OS だけでなく Linux などでも動作します。
そのため、どの製品と OS をお使いかによって問題の切り分け方が違いますし、回答の仕方が異なります。
質問には必ずお使いの製品名・バージョンと お使いの OS の種類を含めてください。
を参照ください。

-----

そして三つ目。
一番最初の事象に戻りましょう。

オラオラオラオラオラオラァ! さんが書きました:
ショートカットアイコンを
"C:\Program Files\Firefox Developer Edition\firefox.exe" -no-remote -p Default User3
と設定すると、起動時に
https://www.hugedomains.com/domain_prof ... ser3&e=com
へ飛ばされる
最初はハックかと思ったが、いろいろな引数を検証すると原因はこの引数だった。


まず
オラオラオラオラオラオラァ! さんが書きました:
よく見るとFAQにも書いてあった。
https://developer.mozilla.org/ja/docs/M ... ne_Options
の FAQ を見て
そこに コマンドと引数 について記載あるなかで、
唯一にコマンド自身が省略できるのは「 -url 」のみ、みたいです。

よって
コマンドオプション

-p Default User3

は、
実は空白で区切られてた為に

-p Default -url User3

と解釈されたのでしょう。

で、
テストしました。
Developer Edition ではない通常版の Firefox を使い
Windows10環境で

"C:\Program Files\Mozilla Firefox\firefox.exe" -url User3

てなコマンドラインを作り起動したところ
オラオラオラオラオラオラァ!さんが「最初はハックかと思った」サイトが表示される事象が
そのまま再現されました。

ここで DeveloperEdition だけでなく
通常版も含めた Firefox の「仕様」としては
コマンドラインの URL として存在しないものが指定された場合に
問題のサイトへ飛ばされるみたいです(推測)。

この「仕様」がユーザ側から見て好ましいものかどうかは議論となりそうですが、
個人的には「かなりお節介な仕様」だと感じます(私見)。
どうしても何とかしたい場合は
Bugzilla投稿扱いにするしかないのかな。
でも
自分(maji)としては困ってるわけぢゃないので静観しますが。

-----

以上
三点だけ整理してみました。
投稿記事 Posted: 2020年6月03日(水) 21:05

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean