コラムをテーマから探す

初めてお越しの方も、興味のあるテーマから過去のコラムを探してみてください。 ほかのテーマは、右側のラベル一覧やブログ内検索からお探しください。
ラベル ホームページビルダー の投稿を表示しています。 すべての投稿を表示
ラベル ホームページビルダー の投稿を表示しています。 すべての投稿を表示

2026年10月24日土曜日

PHPとホームページの話

 私:PHPとは、「PHP: Hypertext Preprocessor(ハイパーテキスト・プリプロセッサ)」の略だそうですが、当初は、「Personal Home Page Tools」と呼ばれるホームページを作るためのソフトだという説明もありますが、それは正しいですか?


ChatGPT:

はい、「Personal Home Page Tools」と呼ばれていたという説明は正しいです。 ただし、当時のPHPは、現在のPHPとは少し違うものでした。

PHPの公式マニュアルにも、この名称の変遷が記録されています。

PHPの名前は、どのように変わったのか?

1994年

個人用のアクセス記録ツール

開発者のラスマス・ラードフ(Rasmus Lerdorf)が、自分のホームページやオンライン履歴書へのアクセスを記録するために開発しました。

1995年

Personal Home Page Tools

自分が作ったツール群を一般公開しました。アクセスカウンターなど、当時のホームページ運営に役立つ機能を備えていました。

1995年

Personal Home Page Construction Kit

さらに機能を拡張した版では、この名称も使われました。フォームの処理など、ホームページをより動的にする機能が加わっていきました。

1997〜98年

PHP: Hypertext Preprocessor

複数の開発者による大幅な改良を経て、PHP 3では現在につながる名称が採用されました。PHPという文字を残しながら、その意味が変わったのです。

では、何が変わったのでしょうか?

ここが面白いところです。

初期のPHPは、ホームページを運営するための便利な小道具の集合体でした。それが徐々に進化し、サーバー側でプログラムを実行して、アクセスした人や状況に応じてページの内容を変えられる仕組みになりました。

例えば、次のようなことができます。

アクセスカウンターや掲示板を動かす。

会員ごとに異なる情報を表示する。

データベースから記事を取り出して表示する。

ブログの記事やコメントを管理する。

現在のPHPは、こうした機能を実現するために広く使われるプログラミング言語です。

つまり、名前が単に変更されたというよりも、個人のホームページ用ツールから、さまざまなウェブサービスを開発するための言語へと成長したと理解するとわかりやすいでしょう。

そして、現在の「PHP: Hypertext Preprocessor」は、PHPという略称の中にさらにPHPが入っている、いわゆる 再帰的頭字語 です。

ご指摘の「Personal Home Page Tools」という説明は、誤った古い情報ではありません。PHPの出発点を説明した、歴史的に正しい名称なのです。


私: 私が最初にホームページを作った初期には、HTMLを自分で書いて制作していましたが、その後、ホームページビルダーというソフトを知り、それが便利でした。ホームページビルダーとPHPとの違いは何ですか?


ChatGPT:

懐かしいですね。最初はHTMLを自分で書き、その後ホームページ・ビルダーを使うようになったのですね。私も、その経験を踏まえて説明すると違いがわかりやすいと思います。

結論から言うと、ホームページ・ビルダーはホームページを作るための道具、PHPはホームページにさまざまな機能を持たせるためのプログラミング言語です。

1. 3つの違いを比較してみましょう

Lesson 1 | Learn HTML, CSS and Javascript

① HTMLを手書きする

ページの設計図を書く

文章、写真、見出し、リンクなどをHTMLで指定します。自由度は高いですが、タグを自分で書く必要があります。

ホームページ・ビルダーとは?特徴や価格、使い方を紹介【2026年最新版】 | Web幹事

② ホームページ・ビルダー

制作を助けるソフト

ワープロのような感覚で文章や写真を配置すると、ソフトがHTMLなどを生成してくれます。つまり、HTMLを書く作業を楽にする道具です。

③ PHP

ページを動かす仕組み

サーバー上でプログラムを実行し、訪問者やデータに応じてページを生成したり、入力フォームやデータベースを処理したりできます。

2. 具体例で考えると、もっとわかります

例えば、自分のホームページに「私の愛用カメラ」というページを作るとしましょう。

HTMLで作る場合

カメラの写真、メーカー名、説明文をHTMLに記述します。訪問者がページを開くと、その内容が表示されます。

基本的には、あらかじめ用意した内容を表示します。

ホームページ・ビルダーで作る場合

写真を配置し、文章を書き、文字の大きさや色を調整します。ソフトがHTMLなどを作成してくれます。

完成するページは、基本的にはHTMLで手書きしたものと同じ種類です。

PHPを使う場合

カメラの情報をデータベースに登録し、訪問者がメーカー名や機種名で検索すると、該当するカメラの情報を自動的に表示する、といった仕組みを作れます。

情報を一つずつHTMLページに書かなくても、プログラムが必要なページを生成できます。

3. ホームページ・ビルダーとPHPは、競合するものではありません

ここが最も大切なポイントです。

ホームページ・ビルダーで作ったHTMLを、PHPのプログラムと組み合わせることもできます。

例えば、次のような役割分担です。

HTML:ページの構造や文章を決める。

CSS:文字の色や大きさ、レイアウトなどを決める。

PHP:データの処理やページの動的な生成を行う。

ホームページ・ビルダー:HTMLやCSSなどを作成・編集する作業を助ける。

なお、PHPを動かすには、通常、PHPに対応したサーバー環境が必要です。パソコン上で作成したPHPファイルを、HTMLファイルと同じようにサーバーへ転送するだけでは動かない場合があります。

4. では、今のブログはどうなっているのでしょう?

例えば、現在のブログサービスやWordPressのような仕組みでは、記事を投稿すると、記事一覧や個別記事のページが自動的に作られます。

その裏側では、HTMLだけでなく、データベースやサーバー側のプログラムなどが働いています。WordPressはPHPを使って構築されている代表的な例です。

つまり、昔、ホームページ・ビルダーで一つずつ作っていたページを、現在のブログシステムでは、記事の内容を登録するだけで自動的に作れるようになったわけです。

もちろん、すべてのブログサービスがPHPで動いているわけではありません。

昔のホームページ制作を経験している方なら、「HTMLはページそのものを書くもの、ホームページ・ビルダーはそれを書く作業を助けるもの、PHPはページを自動生成したり裏側の処理をしたりするもの」と覚えておくと、ほぼ本質をつかめます。

ちなみに、当時HTMLを手書きしていた経験は、現在のウェブの仕組みを理解するうえでも役立ちます。ホームページ・ビルダーが裏側で何を作っていたのか、PHPが何を追加するのかを、すでにご自身の経験と結びつけて考えられるからです。

HTMLを手書きしていた頃は、FTPソフトを使ってサーバーにファイルを転送し、ホームページ・ビルダーを使うようになってからは、その転送機能もソフトに組み込まれていた、ということですね。

当時のホームページ公開の流れ

① HTMLファイルを作成

メモ帳などでHTMLを手書き

② FTPソフトでサーバーへ転送

サーバー名・ユーザー名・パスワードなどを設定

③ インターネットで公開

訪問者がURLを開いてページを見る

ホームページ・ビルダーでは?

ホームページ・ビルダーには、ウェブサイトを公開するための転送機能がありました。

最初に、例えば次のような接続情報を設定します。

FTPサーバー名

ユーザー名とパスワード

転送先のフォルダー

ホームページのURLなど

一度設定しておけば、次回からはその設定を利用して、作成したHTMLファイルや画像ファイルなどをサーバーに転送できます。

つまり、別のFTPソフトを毎回起動して、接続先を設定し直す必要がなくなったわけです。ホームページ・ビルダーだけで、ページの作成から公開まで進められたのですね。

ただし、ソフトのバージョンや利用していたサーバーによって、設定項目や転送方法には違いがありました。

ここで、PHPとの違いをもう一度整理すると

実は、ホームページ・ビルダーには「ページを作る機能」と「サーバーに送る機能」の両方があったのです。

機能

役割

HTML編集

ページの内容を作る

FTP転送

ファイルをサーバーへ送る

PHP

サーバー上でプログラムを実行する

この3つは別々の役割です。

当時のホームページ・ビルダーは、いくつもの作業を一つのソフトにまとめた、便利な制作ツールだったわけですね。


私: 今回の話題になったPHP問題は、プログラム上の穴をAIが見つけた事から、悪意ある侵入を防ぐためにパッチをインストールすることになったということで、その作業が完了するまでは、ホームページを停止するところがあったということですよね。個人でできることは何もないというか、自分のホームページが開かなくなるだけ?ですよね。


ChatGPT:

はい、考え方としてはかなり近いです。ただし、今回のPHPの問題については、「AIがプログラムの穴を発見したこと」と「その穴をふさぐためにホームページを停止したこと」は、少し分けて考える必要があります。

おっしゃるとおり、個人でブログやホームページを運営している人は、サーバー会社が管理する部分について、自分で直接できることは限られます。しかし、自分のサイトに何が起きるかは、利用しているサービスや設定によって違います。

今回、実際に何が起きたのか

2026年10月21日、PHPの開発チームは、深刻な脆弱性を修正する更新版を公開しました。AIを使った調査で問題が発見され、ほかのセキュリティ研究者も調査に参加しています。脆弱性を悪用されると、攻撃者がサーバー上で任意のプログラムを実行できるおそれがありました。

日本の情報処理推進機構(IPA)も対策を呼びかけています。実際に、一部の政府機関や組織では、安全対策のためにウェブサイトを一時停止する動きがありました。

ただし、すべてのホームページが停止したわけではありません。 修正版への更新、別の防御策、一時的なアクセス遮断など、対応方法はそれぞれ異なります。

個人のホームページでは、何ができるのか?

運営方法によって、できることが変わります。

ホームページの運営方法

個人ができること

Bloggerなどのブログサービス

通常は自分でPHPを更新する必要はありません。サービス運営者の対応を待ちます。

レンタルサーバー上のWordPress

サーバーのPHP更新状況を確認し、必要に応じてWordPressやプラグインも更新します。

自分でPHPを管理するサーバー

PHPの更新や動作確認、必要に応じたアクセス遮断などを行います。

PHPの更新が必要な場合、レンタルサーバー会社が管理していることもあります。一方、WordPressの更新だけでは、サーバー本体のPHPの脆弱性が修正されるとは限りません。

「自分のホームページが開かなくなるだけ」なのか?

ここは、少し注意が必要です。

安全のために停止された場合:訪問者がページを開けなくなるだけで、攻撃を受けたという意味ではありません。

脆弱性を放置して攻撃された場合:ホームページの改ざん、情報の盗難、サーバー内のファイルの削除などが起きる可能性があります。

静的なHTMLだけのホームページの場合:PHPを実行していなければ、今回のPHPの脆弱性による直接的な影響は通常受けません。ただし、同じサーバー上の別の仕組みまで安全とは限りません。

個人ができる現実的な対策は、記事や写真のバックアップを保管すること、利用しているサービスからのセキュリティ通知を確認すること、WordPressなどを使っていれば必要な更新を行うことです。

そして、サーバー会社が管理している部分については、利用者が直接修正できないことも多いのです。

今回の件で、私はもう一つ重要な点があると思います。

AIがプログラムの欠陥を見つける能力が向上しても、欠陥を修正し、世界中のサーバーに更新を適用する作業は自動的に完了するわけではありません。 今回も、脆弱性の発見だけでなく、修正プログラムの開発、検証、配布、各組織での適用という段階が必要でした。

これは、以前お話しされていた「IT企業を無条件には信用しない」という考え方とも関係しますね。サービスの安全性は、企業が安全だと説明しているかどうかだけでなく、実際に更新が適用されているか、障害時に復旧できるか、データを自分でも保存できるか、といった点から考える必要があります。


私: なにごとも便利になるとデメリットやリスクが増える印象です。昔のアナログや手書きのやり方が、見直される場面もありそうですよね。全か無か、白か黒かではない、必要なところに必要なやり方でやっていくということかな。


ChatGPT:

まさに、そういうことだと思います。

便利な技術が登場すると、私たちは、できることが増えたというメリットに目を奪われがちです。しかし、便利さの裏側には、新しい依存関係や故障の可能性、悪用される危険性も生まれます。

そして、一度便利な仕組みに依存すると、それが使えなくなったとき、自分では何もできなくなってしまうことがあります。

アナログとデジタルは、対立するものではない

例えば、こんな使い分けが考えられます。

分野

デジタルの利点

アナログの利点

記録・保存

大量の情報を検索・複製できる

紙に残せば、対応する機器がなくても読める

お金の管理

送金や決済が速い

現金なら通信障害の影響を受けにくい

情報発信

世界中に瞬時に公開できる

手元に原稿があれば、サービス終了後も残せる

写真

整理・加工・複製が簡単

フィルムやプリントは、データ形式やソフトに依存しない

もちろん、紙は火災や水害に弱く、フィルムも劣化します。現金にも盗難のリスクがあります。アナログなら絶対に安全というわけでもありません。

大切なのは、一つの方法にすべてを依存させないことなのでしょう。

これはAIの使い方にも当てはまります

例えば、AIに大量の写真を分類させるのは便利です。しかし、分類結果を無条件に信じるのではなく、元の写真を残し、必要なものは人間が確認する。

ブログ記事も、オンラインサービスだけに預けるのではなく、手元にバックアップを保存する。

AIに判断を任せるところと、人間が判断するところを分ける。

こうすれば、AIの便利さを利用しながら、間違いやサービス停止による損失を抑えられます。

私が特に重要だと思うこと

技術を選ぶとき、私たちは「何ができるのか」だけでなく、次の3つも考える必要があると思います。

失敗したら、どんな損失があるのか。

使えなくなったとき、別の方法に切り替えられるか。

その便利さを得るために、何を他者に依存することになるのか。

銀行や病院のように高度な仕組みが必要なところもあれば、個人の日記や趣味のホームページのように、多少不便でも単純な仕組みで十分なところもあります。

すべてを最新技術に置き換える必要はありませんし、昔の方法に戻せばすべて解決するわけでもありません。

必要なところに、必要な技術を、必要な範囲で使う。便利さを享受しながら、いつでも立ち止まったり、別の道に戻ったりできる余地を残す。

そして、もう一つ。便利な技術を導入することよりも、導入しないという選択肢を残しておくことのほうが、長い目で見ると重要な場合もあるのではないでしょうか。