Web には古いソフトウェアの問題があります
公開: 2022-11-21ウェブ上で永遠に続くものは何もないと言う人もいるかもしれません。 そして、おそらく変化は唯一の定数です。 ツールやテクノロジーと同様に、お気に入りの Web サイトは行き来します。 確かに、これらのステートメントにはいくつかの真実がありますが、それはより複雑でもあります.
ほら、物事は背景に消えていくほど消えるわけではありません。 トラフィックで賑わっていたウェブサイトがゴーストタウンに変わるかもしれません。 そして、そのサイトの背後にあるテクノロジーもそこに座ってほこりを集めている可能性があります.
しかし、問題を抱えているのは、古い無人サイトだけではありません。 ミッション クリティカルな Web サイトが古いソフトウェアに依存している場合もあります。 放棄された WordPress プラグインから、サポートされていないバージョンの PHP まで、あらゆる可能性があります。
理想的な状況とはかけ離れています。 そして、これらの古いスタンバイに固執することから、多くの潜在的な問題が発生する可能性があります. しかし、それは現代の Web の現実でもあります。 新しい技術が注目を集めるようになるとすぐに、古い技術は影に隠れ続けます。
問題は複雑であり、潜在的な解決策も複雑です。 これらの恐竜の網を取り除くことさえ可能ですか?
Web サイトがレガシー コードを使用し続けるのはなぜですか?
レガシー コードを使用する Web サイトを想像すると、何が思い浮かびますか? ここ数年、新しいコンテンツを見ていないブログかもしれません。 または、機能していないオンライン コミュニティです。 休眠中の事業所を思い浮かべるかもしれません。
これらの例に共通するのは、小規模で安価な (おそらく無料の) Web サイトである可能性が高いということです。 時間内に凍結されたエンティティ。
ここで、大幅にカスタマイズされた大規模なエンタープライズ サイトについて考えてみましょう。 おそらく、顧客が請求書を支払うことを可能にする特注の機能が含まれているでしょう。 チーム メンバーの特定のワークフローを容易にするカスタム WordPress プラグインが存在する可能性があります。
カスタム機能は、作成に費用と時間がかかります。 また、場合によっては壊れやすいこともあります。 依存ソフトウェアの新しいバージョンではサポートされていない方法または機能に依存している可能性があります。 たとえば、PHP 5 用にビルドされたアプリケーションは、PHP 8 では動作しなくなる可能性があります。
開発者 (または開発者のチーム) はコードをリファクタリングできますが、必ずしも簡単ではなかったり、予算内に収まるとは限りません。 Internet Explorer 6 を使い続けた企業ユーザーの古い話と同じように、レガシ コードは何年も生き続けることができます。
肝心なのは、時代遅れのソフトウェアが依然として活発に使用されているということです。 これは、スケールの上限と下限の両方に当てはまります。
代表的な 2 つの例: PHP と WordPress
使用状況の統計は定期的に変化します。この記事が公開された後は、間違いなく変化します。 しかし、特に 2 つのトレンドは、PHP と WordPress という時代遅れのソフトウェアが実際に使用されている代表的な例です。
PHP 5 と 7 はまだあります
これを書いている時点で、PHP の最新バージョンは 8.1 です。 2021 年 11 月にリリースされ、セキュリティ更新プログラムは 2024 年 11 月に終了する予定です。バージョン 8.0 は 2020 年 11 月にリリースされました (セキュリティ更新プログラムは 2023 年 11 月に終了します)。 バージョン 7.4 は 2019 年 11 月にリリースされました (セキュリティ更新プログラムは 2022 年 11 月に終了します)。
したがって、バージョン 8 以降は数年間使用されています。 しかし、W3Techs の PHP 使用統計によると、調査対象のサイトの 6% 強が PHP 8 または 8.1 を実行しています。 一方、70% は PHP 7 のフレーバーを使用しており、23% 近くがまだ PHP 5 を実行しています (2018 年にサポートが終了しました)。
PHP のメジャー バージョン間の移行は、時間がかかる傾向にあります。 これは、互換性の変更が原因の 1 つと考えられます。 たとえば、WordPress とそのエコシステムは、PHP 8 の完全サポートに向けて長い道のりを歩んできました。
さらに、Web ホストはこれまで、顧客にアップグレードをあまり強く求めていませんでした (これについては後で詳しく説明します)。 同時に、Web サイトの所有者は、PHP を知らない人から、アップグレードについてあまり心配していない人までさまざまです。
要するに、緊迫感はほとんどありませんでした。 または、流れを変えて最新バージョンを使用する Web サイトを増やすには十分ではありません。
WordPress 4 と 5 のライブ オン
プレスに行くと (しゃれが意図されています)、WordPress 6.1 がリリースされました。 これは、人類に知られている最も人気のあるコンテンツ管理システム (CMS) の最新バージョンです。
また、W3Techs の WordPress 使用統計によると、調査対象サイトの 60% 近くがバージョン 6 以降を使用しています。 これは、PHP 8 の使用率よりも大幅に高くなっています。おそらく、それほど驚くべきことではありません。
比較すると、WordPress の更新は簡単で、自動化することもできます。 サイトの所有者とメンテナンスの責任者は、必ずしも指一本でアップグレードする必要はありません。 マネージドホスティングプロバイダーもそれを処理する場合があります。 また、WordPress は下位互換性を重視することで知られているため、重大な問題が発生する可能性は低くなります。
しかし、古いバージョンがまだ残っています。 バージョン 5 はインストールの 34% を占めていますが、インストールの 6% 以上がバージョン 4 に固執しています。
良いニュースがあるとすれば、WordPress コアがソフトウェアのいくつかの古いバージョンのセキュリティ更新プログラムをリリースし続けていることです. それでも、これらのサイトは新しい機能やパフォーマンスの向上を享受できません。 考えられるテーマとプラグインの互換性の問題は言うまでもありません。 ああ、最新バージョンの PHP で動作する可能性は低いです。
また、これらの統計は、古いまたは放棄されたプラグインやテーマを実行している Web サイトを考慮していないことにも注意してください. それは、探索する価値のあるまったく別の銀河である可能性がありますが、同様に関連性があります. これは、WordPress 関連のセキュリティ問題の大部分が発生する場所です。
これが懸念される理由
「時代遅れのソフトウェア」という言葉は、あらゆる種類の悪夢のようなビジョンを思い起こさせます。 パッチが適用されていないバージョンの Windows XP をオンラインで購入している人が思い浮かびます。 効果はあるかもしれませんが、使い続けるには多くのリスクがあります。
セキュリティは最重要事項です。 セキュリティ アップデートを受け取らなくなったバージョンの PHP を使用するのがリスクであることは、当然のことです。 新しいバージョンで簡単に阻止できる攻撃は、従来のセットアップに損害を与える可能性があります。
しかし、オープンなセキュリティ上の欠陥がある古い JavaScript ライブラリやサーバー ユーティリティを使用することも同様です。 結局のところ、すべてのストライプの依存関係は危険な場合があります。 最近の Log4j の脆弱性は、多くのリマインダーの 1 つにすぎません。
次に、効率とパフォーマンスの問題があります。 これらの機能強化が欠けている古いソフトウェアは、ユーザー エクスペリエンス、SEO、およびエネルギー消費に悪影響を及ぼす可能性があります。
また、ソフトウェアが古ければ古いほど、将来的に最新の状態に移行するのが難しくなります (そして費用がかかります)。 その後のバージョンごとに、プロセスに障害が追加される可能性があります。
一部の Web ホストが問題を引き起こしている
Web ホストには、顧客が新しいソフトウェアを実装するのを支援する役割があります。 そして、これらの取り組みにおいてより積極的になっている人もいます。
PHP は主要なターゲットです。 一部のホストでは、顧客はサポートされていないバージョンを引き続き実行できますが、追加料金の請求が開始されています. これは、古いソフトウェアを使用している顧客のサポート コストが高くなった結果である可能性があります。 少なくとも、ユーザーにアップグレードするよう説得する方法です。
それでも、より強硬な姿勢を取る人もいます。 古いバージョンの PHP を使用している顧客に通知し、アップグレードの予定日を提供します。 そこから、サイトがテストされているか、新しいバージョン用にパッチが適用されているかに関係なく、サイトがアップグレードされます。
これらの対策がどれほど効果的かはまだ分からない。 しかし、古くなったソフトウェアをクリーンアップすることは大規模な作業です。 したがって、誰かがボールを転がさなければなりません。 ホストはそうするのに適した立場にあります。
古いものと一緒に?
30 年以上の歴史を持つ Web は、数え切れないほどの量のソフトウェアをホストしてきました。 時間の経過とともにダウンロードされ、サーバーにインストールされたすべてのアプリ (大小を問わず) を検討してください。 一部が有効期限を過ぎてそのまま放置されていたのも不思議ではありません。
このレガシー コードが必要に迫られて残っていることがあります。他のアプリケーションがそれに依存しています。 しかし、単にサイトの所有者が状況を認識していないために発生することもあります。 アップグレードに関して誰も彼らに近づいていない可能性があります。
いずれの場合も、モダナイゼーションの取り組みを強化するために必要なのはリソースです。 企業レベルでは、これは、新しいバージョンで物事を進化させ続けるために時間とお金を費やすことを意味します。
はしごの下段では、教育が重要な要素です。 Web ホストは、顧客に情報を提供し続けることの重要性を認識し始めています。 Web デザイナーも同じことをするべきです。
まず、クライアントの現状、古いソフトウェアを使用することの危険性、およびアップグレードの利点をクライアントに知らせます。 そこから、情報に基づいた決定を下すことができます。
いいえ、サイトを 1 つアップグレードしただけでは世界は変わりません。 しかし、それぞれが最新のテクノロジーを活用できる、より安全な Web への小さな一歩です。