Favorites プラグイン 真っ白問題事件簿

プラグイン「Favorites」をインストールしたWordPressのサイトでページが表示されない(いわゆる?真っ白問題)事象が発生した。

備忘録として残しておく。


前提

そもそもの話として

「Favorites プラグインは更新が止まっており最新のWordPressのバージョンでテストされていない」

という認識はありリスクは承知の上で使っていた。100%じぶんが悪い。

今回は真っ白画面程度だったからいいものの、もしセキュリティホールにつながるような事案だったら笑い事では済まないかもしれない。ソースコードを全て読んだ上での判断ならまだしも、使わせてもらってるだけの立場ならば、更新の止まった部品(プラグインもテーマも)は利用停止していくことはサイト運営者の責務。

という自戒。

環境

  • WordPress 6.4.3

  • Favorites 2.3.3

発生日

2024年2月3日

発生日直前にしたこと

なにもしていない!

数週間、記事一本すら触っていないし、プラグインやテーマの更新もしていない(このサイトは自動更新ではなく手動管理にしている)

強いて言うなら、1月30日にリリースされたWordPress 6.4.3の自動アップデートがあった(WordPress本体だけは自動更新にしていた)

現象1

運営しているサイトのひとつでページが表示されない。

真っ白

HTMLソースを表示してみたが、やはり真っ白。

ソースも真っ白

現象2

当該サイトの全ページで同じ現象が起きている!

なら単純で良かったのだが「真っ白になるページ」と「いつも通り問題なく表示されるページ」の2つに分かれた。

どうして…

調査1

WordPressの管理画面に入ることができたので、原因切り分けのため、まずはプラグインを順番に無効化していく。プラグインを止めたら該当ページをリロード。真っ白問題が解消するかを確認する。

Favoritesを無効化したら、解消した。

調査2

原因を深掘りするためにデバッグモードをONに。

wp-config.phpファイル

 define( 'WP_DEBUG', false );

を以下の通り書き換えて

 define( 'WP_DEBUG', true );

該当ページをリロード
エラー情報GETだぜ!!

Notice: Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.) in /xxxxxxx/wp-includes/functions.php on line 6031

functions.phpの該当場所を確認。エラー情報を出力するための共通部品みたいなものだった。この部品にエラー情報を渡している側のことはすぐにはわからなそうだったので、それ以上の調査は諦めた。

調査3

一律真っ白画面なら一貫性があっていいんだけど(いいのか?)真っ白になったりならなかったりするのが気持ち悪い。

どういう条件で起こるのだろう。

  • 真っ白問題の起きる記事その1 文字数(19,000)

  • 真っ白問題の起きる記事その2 文字数(8,900)

文字数?

ということで、文字数に注目して試験対象を15記事ピックアップし、真っ白問題が起きるか?起きないか?を確認してみた結果

8900はおしまい

4800文字まではセーフ

8900文字はアウト

ということがわかった

しきい値がどこにあるのか気になるところではあるが、大局的に見れば些細な事だし、面倒なのでやめた

原因を断定できる調査方法ではない

が、文字数に起因すると推論し、そういうことだろう!と私の中では結論づけた

現象が発生した原因(推論)

一切触っていなかったサイトで、突然現象が発生した原因はひとつしか考えられない

1月30日にリリースされたWordPress 6.4.3

更新の止まっていた「Favorites」と上記アップデートの組み合わせで歯車が噛み合わなくなってしまった そして文字数が多いと駄目になってしまう

そんななにかが起きたのだろう(雑)

処置(暫定)

当該サイトにおけるプラグイン「Favorites」の利用停止

当該サイト以外にも同プラグインを利用しているサイトがいくつかあるが、同様に利用停止(*1)

*1 文字数が極端に多くない&今後も増える可能性は限りなく低いサイトなら、状況証拠的にFavoritesを使い続けても大丈夫そうな気はする が、それはあくまで真っ白問題の話であって、ほかの問題が顕在化する可能性を否定できない いちど問題に出会ってしまった以上(そもそも論としては出会わなくてもですが)、更新の止まったプラグインを無責任に使い続けることはできない

まとめ

WordPressに限らずだけど、セキュリティ対策ってのはサーバ管理者の責務だよね。

まあ平気やろ、極論自分のサイトが飛ぶくらいバックアップ運用はしっかりしてるし、そんときはそんとき

なんてすこし軽く考えていたかもしれない 自滅で済む場合もあれば、それだけじゃ済まない場合もある

更新の止まった(更新サイクルが長いだけのものもあるから一概には言えないけど)プラグインやテーマを使い続けるのは無限大のリスクだなと感じた一件だった

ただの障害備忘録から意識高い系(当たり前のことではあるんだけど)みたいな方向になってしまったけど、まとめながら大事だなと思ったので方向転換

今後の対応

お気に入り機能はほしいんだよね お気に入り機能、使いたいサイトがあるんだよ

Favoritesの代替プラグインだれかつくってくれよー いまなら覇権取れるぞ? ググってもない ないならつくるか? 面倒… もうイチから作るほどの気概は失ってしまった

光明を見出した


インターネットすばらしい

ここまでお膳立てされてできないやつはいないよね!

うららかな日和が訪れるまでには…実装するぞ

この記事が気に入ったらサポートをしてみませんか?