Windows XPだとページ全体に警告表示するJavaScriptを配布します

Microsoft による Windows XP のサポートはあと数十日で終了します。
サポート終了後はどのような脆弱性が見つかったとしても修正されません。

参考: 警察庁も注意喚起、サポート終了後のWindows XP利用は危険 -INTERNET Watch

にも関わらず、まだまだ利用者がたくさんいるのが実態です。
さらに恐ろしいことに、ほぼWeb制作者向けの記事ばかりのこのブログも Windows XP からのアクセスが多い事がわかりました。

Windows XPユーザーへの警告

そこで、このブログでは Windows XP 利用者が記事を表示しようとした場合に警告(Webブラウザーの種類にかかわらず警告)するようにし、その JavaScript を配布することにしました。

Windows XP利用者はどのくらいいる?

このブログの2013年12月のアクセス解析を見ると、Windows の割合が 43.2% で、Windows ユーザーのうち XP の割合が 12.7% もありました。

あと数十日でサポートが切れること、そしてWeb制作者がサポートの切れた OS を使用していると広範囲に被害が及ぶ可能性を考えれば、恐ろしい数字です。

Windows XPを利用しているWeb制作者は、どんな記事を見ているのか?

次に気になったのが、「Windows XPを利用しているWeb制作者は、どんな記事を見ているのか?」ということです。
これは、Google Analytics で調べることができます。

間違っても、WordPress の記事ではありませんように…と思っていたのですが、XP ユーザーの方が見ている記事の1位は、おそらく最もわかりやすいWordPressテーマ制作チュートリアル でした。

WordPress で Webサイトを制作するなら、人一倍セキュリティには気を使わなければいけないと思うのですが、よりにもよってサポート終了間近の OS を使うとは…

これを放置するのはまずいと真剣に思い始めたため、「Windows XPだとページ全体に警告表示(Webブラウザーの表示領域全体に表示)で警告するJavaScript」を作りました。

使用サンプル

Windows XP でアクセスした場合のみWebブラウザー全体に警告を表示するバージョン(配布版)と、Windows XP でなくても警告を表示するバージョン(表示確認用)を用意しました。

なお、ブラウザーの種類に関係なく、Windows XP であれば警告が表示されます

設置方法

まず、以下の ZIP をダウンロードし、解凍します。

解凍すると、「Web制作者向けサイト用」と「一般向けサイト用」のフォルダーに分かれています。
index.html はサンプルです。

HTML に、deadorxp.js と deadorxp.css を読み込ませるか、deadorxp.css の中身をコピーして既存の CSS の最後に追加すれば設置完了です。

この記事で配布している ZIP ファイルの中身(deadorxp.js や deadorxp.css)は Public Domain(著作権放棄)で配布しますので、ご自由に内容を改変し、個人サイトはもちろん商用サイトで利用していただき、再配布して頂いて構いません。
著作権表示のコメントも削除して頂いて構いません。
ぜひ、多くのWebサイトで Windows XP ユーザーに警告をしてほしいと思っています。

警告の文章を変更するには

deadorxp.js をテキストエディター等で開き、17行目の <p> タグの中の文章を変更すれば、表示される警告の文章が変わります。
HTML タグも使用できます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * deadorxp.js
 * XP ユーザーであれば警告するためのスクリプト
 *
 * Made by @Stocker_jp http://stocker.jp/
 * Public Domain
 */
 
// DOM構築が終わったら
jQuery(function() {
	// XP でなければ return
	var ua = navigator.userAgent;
	if (!ua.match(/Win(dows )?(NT 5\.1|XP)/)) {
		return;
	}
	// 変数に使用する HTML を代入
	var deadorxp_html_modal = '<div id="deadorxp_html_modal"><p id="deadorxp_html_close">✕</p><div><p>Microsoft による Windows XP のサポートはまもなく終了します。<br>Web制作者がセキュリティ的に問題のある古い OS を使い続けた場合広範囲に被害をもたらす可能性があり、大変危険です。<br>今すぐに Windows 8 以降にアップデートするか新しい PC または Mac に買い替え、Windows XP の使用を終了してください。</p></div></div>';
	// deadorxp_html_modal を body の末尾に挿入
	jQuery('body').append(deadorxp_html_modal);
	// ✕ ボタンがクリックされたら消す
	jQuery('#deadorxp_html_close').click(function() {
		jQuery(this).parent().css({
			display: 'none'
		})
	});
});

よくありそうな質問

なぜ、まだサポート期限が切れていないWindows XPに警告を表示するのですか?

サポート期限が切れてから警告を始めたのでは遅いと私は考えています。
たとえば、法人の場合は2013年4月の時点で「今から移行を始めても手遅れ」と言われています。

個人の場合でも、いまだに Windows XP を利用しているような方は今から移行の準備を始めたとしても、サポート期限内に移行を完了できない方がいると考えています。

たとえサポート期限が切れたとしても、XPユーザーがいる限りサポートし続けるべきではありませんか?

サポート期限が終了した OS やWebブラウザーを使用することは誰のためにもなりません。

もし、Windows XP のサポート期限が終了したあとも多くのWebページがこれまでどおり表示できてしまった場合、Windows XP ユーザーはそのままサポート期限が終了した OS を使用し続けるでしょう。

その場合、サポート期限内の OS を使用した場合に比べ、ウイルスやマルウェアへの感染、個人情報流出などの危険が格段に高まります。
「私の個人情報なんて流出しても構わない」と考える方もいるかもしれませんが、あなたの PC に保存されている個人情報はあなたの情報だけではないと思います。

その他、攻撃の踏み台として PC が利用され、警察の取り調べを受けたりする可能性もあります。

警察庁も注意喚起、サポート終了後のWindows XP利用は危険 -INTERNET Watch という記事にも書かれていますが、「Windows XPを使い続けることはセキュリティのリスクを格段に高めることで、延命させるための苦労と比較しても割に合わない選択になる」でしょう。

閲覧の妨害までしなくても、軽く注意を表示する程度で良いのでは?

IE6 ユーザーへの注意を表示する時、ブラウザーのアップグレードを促す内容の横長の目立つバナーを position:fixed でページ上部に表示したのですが、アクセス解析を見ると誰もクリックしていませんでした。

そこで、Windows XP からの移行を促すためにはクリックしないとページが見れないようにする必要があると考え、このように表示領域全体を覆うようにしました。

もちろん、「XPユーザーへの注意はしたいが、ここまではしたくない」という方はダウンロードした CSS を書き換えるなどしてモーダルダイアログのようにしたり、注意を表示するだけに改造してご利用頂いても構いません。

deadorxpとはどういう意味ですか?

ご想像におまかせします。

[追記]この記事に対する反応

deadorxp のお話 – neotagの雑文

あのような画面いっぱいに広がる警告のみの表示を見た時にどう感じるか。少なくとも僕がその立場であれば「怖い」である。
その怖さは決して「XPを使うことが怖い。新しいPCを買おう。」ではない。「PC怖い。インターネット怖い。触りたくない。」である。

確かに、deadorxp.js + deadorxp.css をそのまま一般の方向けのサイトに使用した場合、ユーザー(閲覧者)の方を萎縮されてしまう可能性があります。

このスクリプトは、基本的に自分のブログの読者(=Web制作者)向けなのと、IE6のときやさしい警告で全く効果がなかったのであのようにしましたが、ご自由に改変して使用・再配布していただけるようにしておりますので、ユーザー層に合わせてカスタマイズして頂けると幸いです。

If you like this article click the Facebook “Like” button to share it with your friends!