NeGiMeMo.net

ねぎさんのメモ帳。日常・メモ・ときどきWordPress。

WordPressの更新確認を停止するリスク

bell賞味期限切れコンテンツ

この記事は公開または最終更新から1279日くらい経過しています。
このメッセージが表示されている記事(特にプログラミング系)は情報が古くなっている可能性があるので注意して下さい。

以前、プラグインとの兼ね合いの問題などでクライアントが不用意にアップデートしないようにと、各種更新通知を止めたり非表示にする方法を記事にしましたが、ここ最近のサイト改ざんや乗っ取りといったニュースを見て、やり方だけを書くのはまずいよなと思い、改めてこの件について取り上げて見ることにしました。

そもそもなんで更新通知を消す必要があるか?アップデート通知をそのままにしておくリスク

件の記事を書いた当時は,ちょうど自分が入るより前に受注していたクライアントさんが、WordPress更新のお知らせをみて、素直にアップデートを行った結果,プラグインが対応していなかったか,テーマが対応していなかったかで表示に不具合が出てしまい,原因の特定と修正に非常に時間がかかってしまったという事態が発生した為でした。

もちろん納品時にアップデートのリスクについても説明はしていたとおもうのですが(引き継いだ仕事なので詳しくはわからないですが)その担当者はわかっていても、たまたま更新をしていた他の人とかが、そうとは知らずにアップデートしてしまった場合などはどうしようもありませんよね。

それに、そもそもクライアント的には、「アップデートしろって書いてあるからしたら壊れた。そんな作りをするのが悪い」ってことになりますよね。まぁごもっともなんですけど。

僕らだって超能力者じゃないし、直接WordPressを開発しているわけでもありませんから、廃止タグがどうこうなんてわかりませんよね。Codexとか見ると非推奨になっている関数は調べられますが、沢山のテーマを日々作っている場合、むか~しむかしはもっとも推奨されていたタグだったかもしれないのに今は非推奨みたいなタグを使っていたとしても、覚えてないことも多い気がします。

ましてや引き継いだ案件のテーマファイルのコードを1から読み直すなんてとてもそんな時間はなかったりします。

そうなってくると、もうアップデートされる前にアップデートできなくする、というところにたどり着いちゃうんですよね。きっと。

アップデートできる状態でクライアントに納品するということは、このような状況になるリスクを負うともいえます。

アップデートを停止させるリスク

事前にアップデートを行えないようにするとどのようなことが起こるのでしょうか?

答えは当然「アップデートできなくなる」です。つまりそれは、もしもクリティカルな不具合があって、それを修正したから全員アップデートしたほうがいいよ!というかやらないとやばいよ!みたいな状態になっても、クライアントは気づくことすら出来ません。

もしかしたらWordPressのアップデートについてどこかで噂をきいて「ウチは平気だろうか?」と思っても、コアの更新確認を停止させると、常に最新版であるとアナウンスされるようになりますので、「本当は最新版じゃないのに最新版だと思って安心してしまう」可能性があります。

結果サイトの改ざんなどに繋がる可能性がでてきてしまうとしたら、これはとても危険ですよね。

アップデートを停止させると、不用意なアップデートによって発生する不具合は防げても、もっと危険な状態に晒してしまう可能性があるわけです。これは非常に大きなリスクといえますよね。

アップデート可能な状態にしておくことで負うリスクと、アップデートできなくしておくことで負うリスク、どちらがおおきいかは言うまでもありませんよね。

仮に不用意なアップデートでサイトが崩れても、テーマを修正すればなんとかなることのほうがおおいです。

しかし、アップデートを無視させることでサイトを乗っ取られたりしたら…サイトだけならいいですがそのサーバーにある他の情報まで流出したり、データを破壊されたり、悪意のあるあれこれの踏み台にされてしまったら……。

 

結論

  1. 極力アップデートの停止措置は行わないほうが安全。
    (なにかあってもまだ復旧しやすい可能性が高い)
  2. 更新通知とそれを不用意に押すことで発生する可能性がある問題については、予めクライアント側にしっかりと伝えておく。
  3. どうしてもアップデートの停止を行う必要が有る場合は、その時点のバージョンを控えておくと同時に、公式のアップデートアナウンスに目を光らせ、重大なアップデートの時は一時的にアップデートできるように戻してアップデートを行うというところまでしっかりと面倒を見る
  4. 納品しておしまいなスタンスならばアップデート停止は行わない。
  5. クライアントワークで作る時は制作サイドだけが入れる特別な設定ページでアップデート確認のON、OFFを切り替えられる仕組みを作っておくと「3」がやりやすくなるので余力があれば作っておくと安全。
    (これももし完全に制作側の手から離れるときは「4」の状態になるのできちんと解除しておくこと)

といった感じでしょうかね?

「5」に関しては、テーマごとに仕込んでもいいですが、プラグインにしておくと便利ですよ。最終的に不要になったらプラグインをアンインストールすればいいわけですしね。

TAGS