兵庫県警は魔法と科学の区別がつかない:JavaScriptプログラムによる補導が間違っている件について
クリックすると同じ画面が表示され、消えなくなる不正なプログラムのアドレスをインターネットの掲示板に書き込んだとして、13歳の女子中学生が兵庫県警に補導されました。
兵庫県警は魔法と科学の区別がついていない。そのようなJavaScriptプログラムには何の問題もなく、問題はそれを閲覧したユーザー側のブラウザーにある。
「クリックすると同じ画面が表示され、消えなくなる不正なプログラム」というのがどのように実装されていたかは知らないが、最も簡単で原始的なものは、アラートを繰り返し表示し続けるプログラムだ。
while (true) alert("Hello") ;
このプログラムを実行すると、アラートが繰り返し表示され続ける。ところで、このプログラムを実行しているのは閲覧者のコンピューターとブラウザーだ。このプログラムを提供したものの責任ではない。このプログラムを実行する時、閲覧者は上の文字列を受け取る。それだけだ。その文字列をどうするかは閲覧者の責任だ。閲覧者のブラウザーは上記の文字列を解釈して、あらかじめ定められた規則に従い処理を行う。つまりプログラムを実行するのは閲覧者の責任であって提供者の責任ではない。なぜならば提供者は単なる文字列を提供しているだけなのだから。それを予め定められた規則に従って解釈して実行するのは閲覧者のコンピューターとそしてブラウザーの責任だ。
ブラウザーはJavaScriptを極めて安全な方法で実行する。Coinhiveもそうだが、WebブラウザーがJavaScriptプログラムを実行するにあたって問題は一切ない。もし問題があるとするならば、それはブラウザーの不具合かハードウェアの不具合だ。Webブラウザーは任意のJavaScriptプログラムを安全に実行できるように実装されている。上のプログラムにしたって、古典的すぎるのでブラウザーはとっくの昔に対処している。
もし、上のプログラムが問題を起こすとしたならば、それはブラウザーがハードウェアの不具合であって、提供者の責任ではない。コンピューターは魔法ではないのだ。
したがって、兵庫県警は魔法と科学の区別がついていない。