web-dev-qa-db-ja.com

Firefoxダウンロードダイアログの保存ボタンの遅延はセキュリティ機能ですか?それは何を保護しますか?

Firefoxからファイルをダウンロードするためにクリックすると、ダイアログウィンドウが表示され、ファイルをどこかに保存するか、ダウンロード後すぐに開くかを尋ねられます。

Screenshot of a Firefox download dialog

ダイアログウィンドウの[OK]ボタンは無効になり、ダイアログが約1秒間フォーカスされるまで有効になりません。ダイアログはモーダルではありません。別のウィンドウにフォーカスすると、OKボタンは無効になり、ウィンドウが1秒間フォーカスを保持するまで再び有効になりません。

私のパートナーはこのデザインを嘆き、なぜOKをクリックしてすぐにダウンロードできないのかと尋ねました-私は常にセキュリティ機能だと思っていたと答えました。しかし、今はそれについて考えているので、それがどのような振る舞いを妨げているのか正確にはわかりません。悪意のあるWebサイトが、何が起こっているかを確認するのに十分な時間、ダウンロードウィンドウを強制的に開いたままにして、ファイルを密かにダウンロードできないようにする可能性があると考えたでしょう。とにかく。とにかく、ほとんどのユーザーは、ある時点で[これからこれを自動的に実行する]ボックスをクリックしたため、とにかく保護されていなかったと思います...

では、これはセキュリティ機能ですか?もしそうなら、それは何から保護しますか?

246
Numeron

はい、これはセキュリティ機能であり、遅延の目的は、ユーザーが複数のキーを押したり、マウスを入力している最中に予期せずポップアップしたりして、ユーザーをだまして入力を促し、ダイアログをスキップすることによる攻撃を防ぐことです。連続してクリックします。 このブログ投稿 で機能を説明する2つの例は次のとおりです。

  • ユーザーに単語onlyを入力するように求めるCAPTCHA。ユーザーがnを押すと、保存ダイアログがポップアップ表示され、ユーザーはすぐにlを押し、次にyを押します。これは、一部のブラウザーではOKのキーボードショートカットです。誤ってダウンロードを確認する
  • 画面のどこかをダブルクリックするようにユーザーを誘導するWebページ。最初のクリック後にダイアログが開いたときに、マウスポインターが[OK]ボタンの上にあり、すぐに確認できるように配置されています。

ボタンを数秒間無効にすると、入力は無効になります。

この問題に関するMozillaのバグレポート

351
samgak

遅延がないと想像してみましょう。実行可能ファイルのデフォルトのアクションはそれを開くことであり、ページがファイルのダウンロードを要求するまでに多少の遅延があります。理論的には、ダイアログがポップアップした正確な時間に何かを入力していると、誤ってウイルスを実行する可能性があります。信じられないほど珍しいですが、どこかで起こったと確信しています。

それほど悪意のない方法として、ユーザーエクスペリエンスの観点からは、ダイアログがポップアップしたときにユーザーがスペースまたはEnterキーを押している最中である可能性があるため、デフォルトの、場合によっては正しくないアクションを受け入れます。短い遅延により、ユーザーが誤ったオプションを誤って選択するのを防ぎます。

この機能が実際に何かを保護することを意図していたのではないかと思いますが(そのタスクに対してウイルス対策を信頼した方がいいです)、UIが入力をフラッシュし、私は実際に何らかのアクションを実行するつもりでした。

15
phyrfox

他のどの回答にも言及されていないことが1つあります:多くのユーザーが[OK]をクリックして、ポップアップウィンドウを読み込まずにダウンロードします

ユーザーが誤って悪意のあるファイルをダウンロードした場合(またはだまされてダウンロードされた場合)、 OK ダウンロードしているファイルを読んだりチェックしたりせずに本能のままにすると、ダウンロードしようとしているファイルのサイズ、ファイルタイプ拡張子、場所などの重要なセキュリティ情報を見逃す可能性があります。

無効にすることにより OK 数秒間、Firefoxはユーザーに2度考え、何をダウンロードしているのかを確認させます。

11
angussidney