ITmedia ガジェット 過去記事一覧
検索
ニュース

「プログラムの実行を許可しますか?」 いちいち全部のJavascriptに「はい」を押さないと見られないサイト爆誕 開発の意図は?

「承諾なしに閲覧者のPCを動作させるサイトは違法」とする警察の見解に対する、「サイト閲覧時の挙動すべてに承諾を要求すると、面倒なことになりますよ」というカウンターになっている。

advertisement

 「以下のプログラムの実行を許可しますか?」――そんなダイアログに、いちいち「はい」と答えないと閲覧できないブログが公開され、仕様の恐ろしさで話題となっています。試してみたところ、サイト表示までに押した「はい」は全部で17回(!)。一体なぜ、こんな面倒なことを……。


前書き Chromeでのアクセス例。最初に前置きがダイアログに表示される

承認 「以下のプログラムの実行を許可しますか?」と、承認を求められる

承認 承認要請は20回ほど続き、全てに答えなければ記事を読めない

 その背景には昨今物議を醸している、マイニングツール「Coinhive」を巡る摘発問題がありました。Coinhiveはサイトに専用のJavaScriptコードを埋め込んでおくことで、閲覧者の端末を使って仮想通貨を採掘し、サイト運営者に収益をもたらすというもの。しかし6月に入って、Coinhiveをサイトに設置していた運営者が不正指令電磁的記録(ウイルス)供用や保管などの容疑相次いで摘発される騒動があり、技術者から問題視されていました。

 閲覧者の承諾を得ずにPCを動作させるのはウイルス供用にあたる、というのが警察側の判断ですが、それならば一般的なWeb広告なども「いちいち閲覧者の承認をとらずにPCを動作させているプログラム」ということになります。なぜCoinhiveだけが問題視されるのか――というのが技術者側の言い分でした。

 今回公開されたブログ記事は、直接的な言及こそないものの、こうした「Coinhive摘発問題」へ一石を投じた形になりました。「警察の言う『違法』を厳密に回避してサイトを作ると、あらゆるWebコンテンツに煩雑な承認が必要になりますよ」という皮肉にも読めます。同ブログを運営するエンジニアの清水正行さんは、「今のところ、ユーザーの同意を得なくてはならないプログラムと、無許可で実行してよいプログラムの定義がはっきりしない」として、ひとまず全てのプログラムに対して同意を求める仕組みを作ったと説明しています。

 編集部が詳細を聞いたところ、Coinhiveの件は念頭にあったものの、開発理由の半分は技術的興味だったもよう。EU諸国でもGDPR(EU一般データ保護規則)の影響で、個人情報を求める際にJavaScriptの実行を止めて閲覧者の同意を得る手法が必要となっており、その検討をしている開発者のブログを読んだのがきっかけだそうです。

 この記事で公開されていたライブラリを試してみたところ、清水さんの環境ではうまくいかなかったため、独自の方法でJavaScriptの一時停止を実行することに。それでも全てを停止させることは難しかったと、後日記事につづっています

 ただ、「日ごろあまり意識していない、『サイトの閲覧時、知らないうちに読み込まれて実行されているプログラムの多さ』は分かりやすく可視化できたかな」とも。極端な話、全てのサイトが当該記事のように厳密な承認を求め出したらネットそのものが破綻するでしょうし、承認が必要なプログラムと不要なプログラムの線引きこそ、厳密かつ適度に決めてほしいと考えさせられた次第です。

取材協力:清水正行さん

(沓澤真二)


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る