web-dev-qa-db-ja.com

なぜ人々はJavaScriptを無効にするのですか?

昨日質問しました JavaScriptを無効にして開発する必要がありますか? 。コンセンサスは次のとおりです。はい、JavaScriptを無効にして開発する必要があります。ユーザーがJSを無効にする理由を理解したいだけです。多くの開発者(質問に答えた人は開発者だと思います)がJSを無効にしているようです。何故ですか。ユーザーがJSを無効にするのはなぜですか?セキュリティのため?速度?または何?

60
Jiew Meng

次の点を考慮して、ブラウザ環境でJavaScriptを無効にします。

  • 速度と帯域幅
  • 使いやすさとアクセシビリティ
  • プラットフォームサポート
  • 安全保障

速度と帯域幅

多くのアプリケーションは、JavaScriptを使いすぎて自分の利益を生み出しています... AJAX呼び出しによって常にインターフェースの一部を更新する必要がありますか?多分、インターフェースは素晴らしくて高速だと感じますブロードバンド接続で使用されますが、低速の接続速度にダウングレードする必要がある場合は、より合理化されたインターフェースが推奨されます。JavaScriptをオフにすることは、15秒ごとに世界をリフレッシュするという、ダムに打たれたWebアプリを防ぐ良い方法です。 (Facebookが送信するデータの量をこれまでに見たことがありますか?それは恐ろしいことです。それはJS関連の問題だけではなく、その一部でもあります)。

また、処理をクライアントにオフロードする傾向があり、最小限の(または時代遅れの)ハードウェアを使用すると、非常に遅くなります。

使いやすさとアクセシビリティ

すべてのユーザーインターフェイスを動的に表現する必要はありません。サーバーで生成されたコンテンツは、多くの場合完全に許容可能です。さらに、一部の人々はこのタイプのインターフェースを単に望んでいません。すべての人を満足させることはできませんが、場合によっては、すべてのユーザーを満足させる機会と義務があります。

最後に、一部のユーザーには障害があり、無視することはできません、これまで!!!

私の意見では、ここでの最悪のシナリオは、UIを「近代化」して一般向けに見せようとする政府のWebサイトですが、意図した対象者の大きな塊を残してしまいます。同様に、大学生がコースのコンテンツにアクセスできないのは残念です。彼/彼女は盲目でスクリーンリーダーがサイトをサポートしていないか、サイトが非常に重く、アドホックな最新のプラグインが必要なためです。彼/彼女は、2年前にe-bayで購入したその再生されたラップトップにインストールできません。または、彼/彼女は春休みのために別の国に帰国し、ローカルの帯域幅の制約がペイロードのペイロードに対応できないためです。地点。

誰もが完璧な世界に住んでいるわけではありません。

プラットフォームサポート

この点は前の2つに関連しており、ブラウザは以前よりもはるかに効率的なレベルのJavaScriptエンジンを組み込んでいるため、現在はあまり重要ではありません。

ただし、すべてのユーザーが最新のブラウザーを使用する特権を持っている保証はありません(企業の制約-正当な理由なく実際に古いブラウザーをサポートすることを強制するため-または有効であるかどうかにかかわらず他の理由のため)。 「Matthieu M.」で述べたようにコメントでは、多くの人がまだ低品質のハードウェアを使用していること、そして誰もが最新のクールなスマートフォンを使用しているわけではないことを覚えておく必要があります。現在のところ、サポートが限定されたブラウザを組み込んだ携帯電話を使用している人の大部分がまだいます。

しかし、先ほど述べたように、この領域では状況は改善されます。ただし、非常に定期的にポーリングを続ける場合は、帯域幅の制限に関する以前のポイントを覚えておく必要があります(または、ユーザーは素晴らしい電話料金を享受できます)。

それはすべて非常に相互に関連しています。

安全保障

JavaScriptをブラウザー環境で実行することを考えると、JavaScriptを使用しても特に危険なことはないと考えることができますが、これは完全に誤りです。

P.SEにアクセスしてSOにアクセスすると、他のネットワークにログオンしている場合は自動的にログインしていることに気づきますか?そこにJSがいくつかありますが、そのビットはまだ無害ですが、しかし、悪意のあるサイトで悪用される可能性のあるいくつかの概念を使用しています。WebサイトがJavaScriptを使用して、ブラウジングセッション中に実行した(または実行した)いくつかの情報(または実行しなかった場合は過去のもの)を収集することは完全に可能です。ブラウザを終了するか、現在では一般的なシークレット/プライベートブラウジングモードを広範囲に実行するたびにセッションデータを消去し、サーバーにアップロードするだけです。

最近の脆弱性(当時主要なブラウザーで動作していた)には、 保存した入力フォームデータを収集する (悪意のあるページで組み合わせを試してみて、考えられる最初の文字の組み合わせごとに推奨テキストを記録する)機能が含まれていました、 攻撃者にあなたが誰であるか、おそらくあなたがどこで働いて住んでいるかを伝える )または 閲覧履歴を抽出する と習慣( 非常に巧妙なハックで、ページのDOMにリンクを挿入してリンクの色を一致させ、アクセスされたかどうかを確認する 。これを行うには、既知のドメイン名の十分に大きなテーブルでこれを実行する必要があります。また、JavaScriptの処理速度が速くなります。このタイプ物事が迅速に行われます。)

さらに、ブラウザーのセキュリティモデルに欠陥がある場合、またはアクセスするWebサイトがXSS攻撃に対して十分なときに保護されていない場合は、JavaScriptを使用してリモートWebサイトの開いているセッションを単純に利用することを忘れないでください。

JavaScriptは、信頼できるWebサイトで使用する場合、ほとんど無害です。 Gmail。 Facebook(たぶん...そして、さらには...)。 Googleリーダー。 StackExchange。

しかし確かに、JavaScriptはそれほど悪くありませんよね?とにかく、オンラインで恐れるべき怖いものがあります。 本当にそれほど多くないときに匿名であると考えるように[Panopticlick[〜#〜] eff [〜#の実験で示されるように〜] 。これも部分的にJavaScriptを使用して行われます。 ブラウザのフィンガープリントを回避するためにJavaScriptを無効にする理由 を読むこともできます。


以上のことから、JavaScriptのサポートに煩わされる必要のない、完全に良い状況があるかもしれません。ただし、公共サービスのWebサイトを提供する場合は、両方のタイプのクライアントを受け入れることを検討してください。個人的には、多くの最新のWebアプリやWebサイトは、クライアント側でJavaScriptをまったく使用せずに、以前のサーバー生成コンテンツモデルを使用しても同様に機能すると思います。

マイレージはプロジェクトによって異なる場合があります。

81
haylem

誰かが毎朝面白い漫画を書くことを信頼することと、誰かが私のコンピュータ上で任意のチューリング完全コードを実行することを信頼することは、2つのvery異なることだからです。

46
Jörg W Mittag

私はウェブ開発者ではありません。インターネットの仕組みをある程度理解しています。これは user からの回答です。

私の経験から、怠惰であろうと無知であろうと、多くのサイトのコーディングが不十分であると信じるようになりました。Facebookページなどの基本的に static Webページを表示すると、CPU使用率が高くなります。 15%程度増加し、複数のタブを使用すると大幅に増加します。最終的には、ボタンまたはリンクをクリックした後、応答を待たなければならず、CPUが過熱してロックアップするようになりました。

これらの最悪の犯罪者(サイト)の多くでは、目に見えるものは何も変化しておらず、インタラクティブなものは何も起こっていません。私は、サイトのコードが常に過度の更新、ポーリング、および無限ループを行っているとしか考えられませんでした。

これにより、私は NoScript をインストールして、CPU使用率を解放しましたそして、ブラウジングがイライラする雑用になるのをやめます。

私が使用する他のすばらしいアドオンは FlashBlock です。

16
Mark C

速度上の理由からJSを無効にします。 JavaScriptなしのTechCrunchは、準備されたキャッシュでロードするのに数秒かかります。 JavaScriptの場合、キャッシュが準備されていない場合は、約20秒かかります。

多くのサイト、特に画像ギャラリーやコマースサイトはJavaScriptで肥大化しています。これを削除すると、ほとんどの場合、ブラウジングエクスペリエンスが向上します。

10
Josh K

私にとってそれはすべてセキュリティに関するものです。私はnoscriptを使用して、特定のWebサイトがjavascriptを実行できるようにしていますが、ほとんどは許可していません。

結局のところ、危険がどこにあるのか本当にわかりません( techspot.comに感染したノーベルWebサイト )。多くのゼロデイ(およびその他の)エクスプロイトはjavasciptを使用しています。この1つの攻撃の道を閉じることは、正しい方向への一歩のように感じます。

8
kasterma

私の主な理由は、それが最も迷惑な広告を抑制するということです。私がアクセスするサイトの収益に影響を与える可能性があるため、AdBlock Plusを使用したくない(そして、利用規約で広告を無効にすることではないと述べたサイトを1つか2つ使用した)。 NoScriptは、広告の潜在的な不快さを制限し、私は残りの広告と一緒に暮らしていく所存です。

また、セキュリティに関する考慮事項もあります。広告を販売するサイトはすべて敵意があると見なされる必要があるため、広告にも大きく関係しています。

さらに、私が訪問する前に、サイトが危険だとは限らない。一部の人々はサイトへのリンクを送ることを楽しんでおり、必ずしも正直であるとは限りません。

7
David Thornley

これまでブラウザはJavaScriptの実装が遅く、n00bのWebデザイナが多すぎたため、ボタンのロールオーバーなどの無関係なものにそれを使用していました。

最新のブラウザを備えた高速のマシンでは、正しい考えを持つ人が常にそれを無効にしている人はいません。これは、高速のコンピューターで最新のブラウザーを実行するための資金、欲望、またはノウハウを持たない、非常に「セキュリティ意識の高い」人々や他の人がたくさんいないと言っているわけではありません... IE6が停止したのはごく最近のことですインターネットで最も人気のあるブラウザ!

4
Kevin Cantu

JavaScriptが有効になっていると、どのWebサイトでもコンピュータ上でコードを実行できます。特定のWebサイトがコードを実行するかどうか、そしてそれが何をするかさえ知りません。さらに悪いことに、誰かが私の知識なしに通常無害なWebサイト(XSS)にコードを挿入する可能性があります。最近、有名なドイツのコンピュータ雑誌は記事を書きませんでした、16歳の人がドイツで最も一般的な銀行のオンラインバンキングサイトを試しました。それらの多く(最大のものを含む)はXSSに対して脆弱でした。また、オンラインバンキングサイトが、トランザクションのターゲットや金額などを変更するJavascriptを実行していることに気付かないこともあります。 Javascriptを無効にすると、信頼済みサイトのコンテキストでのXSS攻撃は役に立たなくなり、悪意のあるコードは実行されません。

2
Mnementh