10月21日、ホームページを動かす裏側のプログラム「PHP」に、大きな穴が見つかりました。
外から勝手にプログラムを動かされるおそれがある、という内容です。
ぼくはWeb制作の仕事をしていて、作ったホームページの管理も続けています。
この日から3日間、その対応に追われました。
この記事では、そのとき何が起きて、ぼくが何をしたのか。
そして、もう何年も更新していないホームページを持っている方に、いま何をおすすめしたいのかを書きます。
10月21日、PHPに大きな穴が見つかった

PHP(ピーエイチピー)は、ホームページの裏側で動いているプログラムの言葉です。
WordPress(ワードプレス)で作られたホームページは、このPHPの上で動いています。
日本時間の10月21日の夜11時、このPHPに重大な穴が2つ見つかったと発表されました。
危なさの点数は、10点満点で9.2。
ログインしなくても、外からサーバーの上で好きなプログラムを動かされるおそれがある、という内容です。
ホームページを乗っ取られたり、知らないうちに怪しいページに書き換えられたりする入口になりかねません。
修正したPHPは、すぐに公開されました。
ただし、修正が出たのは新しいバージョン(8.2〜8.5)だけです。
8.1より古いPHPには、正式な修正は出ていません。
ホームページを置いているレンタルサーバーの会社も対応に追われていて、ぼくが使っているサーバーでは、管理画面がしばらく止まっていました。
結論:更新しないなら、静的HTMLへの引っ越しがいちばん安全

結論から言うと、もう何年も更新していないホームページは、WordPress(ワードプレス)から「静的HTML」に引っ越すのがいちばん安全です。
なぜなら、静的HTMLには「入口」がないからです。
「静的HTML」というのは、完成したページをそのまま置いておく、いちばん素朴なホームページの形です。
見る人から見れば、WordPressのホームページと何も変わりません。
ちがうのは、裏側です。
WordPressと静的HTMLのちがい

WordPressは、ログイン画面があり、裏でPHPやプラグインが動いています。便利な反面、世界中で使われているぶん、パスワードを狙われたり、今回のような穴が見つかったりするたびに、急いで対応しないといけません。
WordPressのいいところは、管理画面から自分で文章を書き換えられることです。
ブログのように毎週記事を足していくなら、とても便利な道具です。
でも、作ってから一度も文章を変えていないホームページだと、その便利さは使われていません。
使っていない入口だけが、ずっと開いたままになっています。
静的HTMLは、完成したページを置いておくだけ。
ログイン画面も、PHPも、プラグインもありません。
狙われる入口そのものがないので、乗っ取られる心配がほとんどなくなります。
PHPの穴が見つかっても、プラグインの穴が見つかっても、そもそも使っていないので、急いで対応する必要がありません。
45個のホームページを、1日で点検した話

じつは今回、ぼくが管理しているホームページは45個ありました。
古いバージョンが15個。控えを取り、ひとつずつ切り替え、表示を確かめて、終わったのは翌日の夜です。
やったのは、この順番です。
- 45個すべての、今のPHPのバージョンを一覧にする
- 修正の出ていない古いバージョンのものを、15個抜き出す
- 切り替える前に、データの控えを取る
- 切り替えたら、表示が崩れていないか前と見比べる
PHPのバージョンを上げると、古いデザインの部品が動かなくなって、表示が崩れることがあります。
実際に、そのまま切り替えると崩れそうなサイトが1つありました。こちらは、先にデザインの部品を直してから切り替えました。
画面に警告の文字が出てしまったサイトも、いくつかありました。
警告にはサーバーの中の場所まで書かれてしまうので、見る人に出さない設定にして元どおりにしました。
そのたびに原因を調べて、直してから次へ進みました。
10月22日の夜9時、45個すべてが、穴をふさいだ新しいバージョンにそろいました。
穴が見つかるのは、今回が最後ではない

しかも、穴が見つかるのは今回が最後ではありません。今のPHPの一部は、今年の12月末で修正の提供が終わります。
12月末で終わるのは、PHP 8.2 です。
今回いちばん古いグループのPHPに正式な修正が出なかったように、提供が終わったバージョンは、次に穴が見つかっても直してもらえません。
更新していないホームページほど、気づかないうちに古い部品のまま放置されがちです。
「うちは大丈夫かな?」と思ったら、今のうちに手を打っておきましょう。
静的HTMLに引っ越すと、何が変わるのか

ぼくはこの件をきっかけに、更新しないホームページを静的HTMLに引っ越し始めました。
ぼく自身のブログも、PHPを使わない仕組みにもう引っ越しが終わりました。
実際に引っ越してみて、変わったこと・変わらないことはこうです。
変わらないこと
- 見た目(今のページをそのまま書き出すので、デザインはそのまま残ります)
- ホームページの住所(ドメイン)
- 今お使いのメールアドレス
変わること
- ログイン画面がなくなる
- PHPとプラグインがなくなる(今回のような穴への対応がいらなくなる)
- お問い合わせフォームは、静的HTMLの形で作り直す(いたずらの送信を防ぐ仕組みつき)
引っ越しのときも、ホームページが止まる時間を作らない手順で切り替えています。
よくある質問

Q. うちのホームページのPHPのバージョンは、外から調べられますか?
ホームページを外から見ても、PHPのバージョンはわかりません。
レンタルサーバーの管理画面に入ると、ホームページごとに確かめられます。
Q. サーバーの会社が直してくれるのでは?
新しいバージョンのPHPは、サーバーの会社が順番に修正を当ててくれます。
ただ、古いバージョンは修正に時間がかかったり、こちらで追加の対策をお願いされたりすることがあります。
古いままのホームページほど、自分で手を打つ必要が出てきます。
Q. 自分で今すぐできることはありますか?
まずは、サーバーの管理画面でPHPのバージョンを確かめてください。
8.1より古ければ、新しいバージョンへの切り替えを考えた方がいいです。
切り替えるときは、先にデータの控えを取ってください。
表示が真っ白になったり崩れたりしたら、すぐに元のバージョンへ戻せば、元どおりになります。
Q. 引っ越しのあいだ、ホームページは見られなくなりますか?
止まる時間を作らない順番で切り替えるので、見に来た人には何も変わりません。
ぼくがお手伝いできること

ぼくがお手伝いできるのは、この2つです。
- 静的HTMLへの引っ越し 98,000円〜
- 管理費 月9,800円〜
見た目は今とまったく同じまま。
しかも静的HTMLは、サーバー代がかかりません。
文章や写真の直し、表示やお問い合わせフォームの見張り、ドメインの期限の管理まで、管理費の中でぼくがやります。
静的HTMLになると、管理画面から自分で文章を直すことはできなくなります。
そのかわり、直したいところは管理費の中でぼくが直します。
毎週ブログを書いているような、よく更新するホームページは、静的HTMLには向きません。
その場合は、どんな形がいいかを一緒に考えます。
気になる方は、こちらからお気軽にご相談ください。





