トップ  »  コンピュータガイド  »  開発言語・スクリプト  »  JavaScript  »  JavaScriptの問題点

JavaScriptの問題点

互換性の問題

"JavaScriptの歴史"のページでも述べたとおり、JavaScriptはWebページをインタラクティブする為に開発され、ウェブブラウザに組み込まれた機能でした。
しかし当時は"NetscapeNavigator"と"InternetExplorer"のウェブブラウザシェアの取り合い、いわゆる第一次ブラウザ戦争の頃で、こんな便利なものをライバルMicrosoft社が黙認するわけも無く、"InternetExplorer3.0"から組み込まれる事となりました。
その他の企業も追従する様にJavaScriptに対応していったのですが、それぞれが独自の機能拡張を加えたり、その後のバージョンアップに際しても仕様や機能拡張に差異があったためにユーザが利用するウェブブラウザやそのバージョンによって挙動が異なる、或いはまったく機能しないという状態を招きました。

Webサイトの製作者側は、メソッドやプロパティ毎に「これは"ネスケ"OKだけど"IE"はNG」とか「これは"ネスケ"でもバージョン6.2だけ動かない」とか「Mac版は動きが違う」とか気にしながら記述しなくてはならず、同じ処理なのにそれぞれのブラウザバージョン別にプログラムを記述しておいたり、ページ振り分けたりと大変な苦労を強いられました。
つまり、JavaScriptが本来持つサーバ環境やクライアントのOSなどに依存しないという優れた面をつぶす結果となってしまったのです。
これはECMA(ヨーロッパ電子計算機工業会)による標準化がされた今でも残る問題点です。

セキュリティの問題

JavaScriptを利用すると、ウェブブラウザのウインドウを閉じようとしても次々と無尽蔵に増えて、最終的にブラウザやPC自体の動作が不安定になってしまうといった迷惑なものから、ActiveXコントロールを利用してWindowsのシステム情報までも書き換えてしまうような危険なものまで、比較的簡単に作れてしまいます。
これらを悪用したウェブサイトが増え始め、メールにもHTMLが使えるようになってくると、それまでは添付ファイルを開かなければ(実行しなければ)感染しないというのが定説だったコンピュータウィルスまでもがメール本文やウェブサイトを開いた(見た)だけで感染するようにまでなってしまいました。

また、HTMLメール対応のメールソフトでJavaScriptを有効にしたまま返信によるメールのやり取りを繰り返すとメールを第3者に盗み見られる危険性など、セキュリティに関する脆弱性などが次々と指摘され、現在多くのウェブブラウザやセキュリティソフトではJavaScriptの実行を抑止する機能が付いていたり、基本的に見知らぬ(信頼の置けぬ)サイトにおいてはJavaScriptは機能しないようにしてブラウジングする事が定説となってしまいました。

その他にも、クライアントで実行される前提で、且つプレーンなテキストで記述されるのでウェブブラウザの簡単な操作でソースが丸見え、或いはリンク先の外部ファイルをダウンロード可能である点も危惧されるところです。
万が一このソースに問題があれば処理を解析してサーバに不正なデータを送信するなどの攻撃も可能になってしまうからです。

フォロー

このようなことから「JavaScriptは使えない」、「JavaScriptは危険」、「レベルの低い言語」のようなイメージが付いて回るようになってしまいました。
但し、互換性の問題や元々の脆弱性は別として、意図的に悪用する事自体がJavaScriptの便宜性を逆手に取った悪質な行為なのあって、JavaScript自体が悪なのではない事を付け加えておきます。
例えば、便利な車だって使い方や運転する人によっては凶器にもなりますしね。
実際問題、現在出回っているコンピュータウィルスなどの悪意あるプログラムの多くはVBCC++といったプログラム言語を使って作られていたりする訳で、JavaScriptだけが悪用されている訳でもないですしね。そゆ問題じゃないか...。

問題点ばかりズラズラと挙げていると私自身がJavaScriptに嫌悪感を持っているように思われるかもしれませんが、そんなつもりは毛頭無くて、ただ単にJavaScriptの事を良く知らずに「便利、便利ぃ〜。」と安易に飛びつく事や、無意味に毛嫌いする事を危惧しているだけです。
無知ほど怖いものはなくて、私自身も無知だった為に安易に飛びつき、遊び散らかした上に勝手に「使えねぇなコレ」と決め付けて、4〜5年前までは「アンチJavaScript派」でした。
しかし、せっかくの便利な技術を闇雲に拒絶する事は自分にとっても決して有意義な事ではないなと思ったのです。
そして、危険性を理解した上で正しい使い方をしなくては本当の意味でのJavaScriptの有意性は発揮できないとも思ったのです。
だから、自分自身が再確認する意味も込めてもう一度JavaScriptに関して調べ直して綴っているのです。

それに、近年またJavaScriptが見直されてきて、大手企業さんのサイトでも積極的に使われているようですし、去年辺りからAjaxなんて技術も出てきて「新しいWebアプリケーションの形」とか「古くて新しい画期的技術」とか盛んに報じられてますが、あれもJavaScriptを使ったアプリケーション技法ですしね。(Ajaxを使ったWebアプリケーションといえば、Google社の"Google Maps"なんかがちょ〜有名ですね)

フォ、フォローになってないですか...。

トラックバック(0)

トラックバックURL: http://www.ezms.net/mt/mt-tb.cgi/23