攻められる入口を、最初から作らない
2026年10月、PHPに重大な弱点が公表されました。
それでも、このサイトは更新に追われていません。
理由は単純です。PHPを使っていないからです。
これから作るサイトも、同じ作りで公開します。
していることを10個、確かめ方つきで全部書きます。
相談だけで終わっても、構いません。
01
いま、何が起きているか
この章の要点
- 2026年10月22日、IPAがPHPの重大な脆弱性について注意を呼びかけました。
- 古い版のPHPでは、離れた場所から勝手にプログラムを動かされるおそれがあります。
- AIで弱点探しが速くなる、という予測も、公的な資料で紹介されています。
10月22日、PHPに重大な弱点が見つかりました
2026年10月22日、IPA(情報処理推進機構)が注意を呼びかけました。IPAは、経済産業省が所管する公的な機関です。対象は、PHPというプログラムの言葉です。ホームページをその場で組み立てるのに使われます。WordPressも、PHPで動いています。
見つかったのは、脆弱性(ぜいじゃくせい・プログラムの弱点)です。今回の2つには、「PHP2shell」という呼び名が付いています。
IPAは、影響をこう書いています。遠隔の第三者によって、任意のコードが実行される可能性がある。離れた場所の誰かに、サーバーで好きなプログラムを動かされるおそれです。サーバーは、ホームページのデータを置いて配る機械です。
| 公表 | 2026年10月22日 IPA(情報処理推進機構) |
|---|---|
| 呼び名 | PHP2shell(CVE-2026-109618、CVE-2026-109619) |
| 起きうること | 遠隔の第三者によって、任意のコードが実行される可能性 |
| 対象 | PHP 8.2.35/8.3.36/8.4.27/8.5.12 より前の版 |
| 8.1以前 | サポートが終わっていて、直した版が出ない |
対象は、PHP 8.2.35、8.3.36、8.4.27、8.5.12 より前の版です。調査に関わったWiz社によると、PHP 5.4以降も影響を受けます。2つのうち、少なくとも一方の影響です。PHP 8.1以前は、サポートが終わっていて、直した版が出ません。IPAは、すぐ更新できない場合の暫定の対策や、公開の一時停止にも触れています。東北経済産業局も、同じ件を周知しています。
「すでに被害が出ている」とは書きません
IPAのページには、悪用が確認されたかどうかの記載がありません。だから私も、被害が出ているとは書きません。屋根の悪質な訪問販売のように、不安をあおって急がせることはしません。
AIで、弱点探しは速くなっていく
IPAの「情報セキュリティ10大脅威 2026」の解説書は、ある予測を紹介しています。英国の国家サイバーセキュリティセンター(NCSC)の予測です。AIで、脆弱性の発見や攻撃の道具づくりが速まり、脅威が増す、というものです。直すまでの猶予が短くなっていく、と私は受け止めています。
IPAの中小企業向けの事例集には、こんな例も載っています。自社のホームページが書き換えられ、偽のサイトへの誘導に使われた例です。会社の大きさに関係なく、ホームページは入口になりえます。
02
小さな会社のサイトが弱くなる理由
この章の要点
- WordPressは、PHP・データベース・ログイン画面・プラグインで動く、入口の多い仕組みです。
- 弱くなるのは、作った日ではなく、手入れが止まった日からです。
- WordPressそのものが悪いわけではありません。
WordPressは、入口が多い仕組みです
WordPressのサイトは、次の仕組みで動いています。
- PHP:開かれるたびに、ページをその場で組み立てるプログラム
- データベース:記事や設定をしまっておく倉庫
- ログイン画面:記事を書き換えるための、管理の入口
- プラグイン:機能を足すための部品。作り手はそれぞれ別です
どれも便利です。ただ、外から見ると、どれも入口になりえます。家でいえば、窓と勝手口の多い家です。そのぶん、戸締まりの数が増えます。
WordPressで動くサイト
- PHP更新
- データベース更新
- ログイン画面更新
- プラグイン更新
このサイトと、これから作るサイト
出来上がったページを配るだけ
- フォームの受付口何重にも守る
弱くなるのは、手入れが止まった日から
PHPにも、WordPress本体にも、プラグインにも、直した版が出続けます。誰かが更新を当て続けないと、古い弱点が残ります。制作会社との契約が終わった。担当の人が辞めた。こうして、手入れが止まることがあります。現場に出ている社長が、毎月の更新を続ける。私は、それは現実的ではないと考えています。
ログイン画面は、誰でも前まで来られる扉です
WordPressのログイン画面は、初期の設定では決まった場所にあります。誰でも扉の前まで来て、合言葉(パスワード)を試せます。合言葉が弱ければ、そこから入られるおそれがあります。
WordPressが悪いわけではありません。手入れを続けて、安心して使っている会社もあります。手入れが止まると弱くなる仕組みだ、ということです。
03
私の考え方は4つ
この章の要点
- 入口を、最初から作らない。
- 残った入口は、何重にも守る。
- 何かあっても、すぐ戻せる。していることは、全部見せる。
- 入口を作らないPHP・データベース・ログイン画面を使わない
- 何重にも守る通信・配信・フォーム・公開の手順に、別々の守り
- すぐ戻せる公開した版の控えと、前の版に戻す仕組み
- 全部見せるしていること・なぜ効くか・確かめ方を書く
1. 入口を、最初から作らない
守りを固める前に、扉の数を減らします。このサイトは、ページを表示するのに、PHPもデータベースも使いません。ログイン画面も、外に出していません。これから作るサイトも、同じ作りです。だから「PHPに穴が見つかったので、今夜中に更新を」という話が起きにくいのです。PHP2shellが公表されたあとも、急いで当てる更新はありませんでした。
2. 残った入口は、何重にも守る
入口は、ゼロにはなりません。フォームは、外から届く入口です。そこで、通信・配信・フォーム・公開の手順に、別々の守りを入れています。1つを抜けられても、次で止める考え方です。屋根も、瓦の下に防水のシートを敷いて、二重で雨を止めます。
3. 何かあっても、すぐ戻せる
守りを重ねても、何も起きないとは言えません。だから、公開した版の控えを残し、前の版にすぐ戻せるようにしています。
4. していることを、全部見せる
何をしているか。なぜ効くか。あなたがどう確かめられるか。言い切りより、確かめられる中身のほうが、安心の材料になると考えています。
このページに書いた対策の範囲
次の章の対策は、このサイトで2026年10月26日に確かめたものです。これまで作って公開しているサイトも、WordPressでは動いていません。これから作るサイトの公開先も、同じVercelです。お客さんのサイトも、同じ考え方で作ります。どの守りを入れるかは、作る前の打ち合わせで一緒に確かめます。
04
このサイトでしている10の対策
この章の要点
- 10個とも「していること」「なぜ効くか」「確かめ方」の3つで書きました。
- 1から8は、外から確かめられます(4は公式文書で、7は一部だけ)。
- 9と10は手元の作業なので、外からは見えません。だから手順を書きました。
1から8は外から確かめられます(4は公式文書、7は一部)。Chromeで使う道具は2つです。
- ページのソース:ページの上で右クリックし、「ページのソースを表示」を選ぶ
- 開発者ツール:WindowsはF12キー、Macはoption+command+Iで開く
| 番号 | 対策 | 確かめ方 |
|---|---|---|
| 1 | 出来上がったページを配る | 自分で確かめられる |
| 2 | 外から入れるログイン画面が無い | 自分で確かめられる |
| 3 | 通信はいつも暗号化 | 自分で確かめられる |
| 4 | 大量アクセスの攻撃を和らげる | 公式文書で確かめられる |
| 5 | 外の会社のプログラムを読み込まない | 自分で確かめられる |
| 6 | フォームは受付口を通す | 自分で確かめられる |
| 7 | 迷惑な送信を受付口で落とす | 一部だけ(細かい条件は公開しない) |
| 8 | 全ページにセキュリティの指示 | 自分で確かめられる |
| 9 | 公開の前に関所を通す | 手元の作業 |
| 10 | 前の版にすぐ戻せる | 手元の作業 |
01ページは、出来上がった形で配っています
していること
ページはすべて、出来上がったHTMLをそのまま配る形です。HTMLは、ホームページの設計図の言葉です。この形を、静的なページと呼びます。PHP、WordPress、データベースは、サイトのどこにもありません。
なぜ効くか
WordPressは、開かれるたびにPHPがページを組み立てます。組み立てる仕組みがあれば、そこが入口になります。出来上がったものを配るだけなら、その仕組み自体がありません。
確かめ方
ページのソースで「wp-content」を探してください(Ctrl+F、Macはcommand+F)。WordPressのサイトでよく見かける文字です。このサイトには出てきません。
02外から入れるログイン画面がありません
していること
サイトの上に、管理画面もログイン画面も置いていません。書き換えるときは、公開の権限を持つ人が、手元で作って送り出します。
なぜ効くか
ログイン画面は、誰でも前まで来て合言葉を試せる扉です。扉がサイトの上に無ければ、そこで試すことはできません。
確かめ方
このサイトのアドレスの後ろに「/wp-admin」を付けて開いてみてください。ログイン画面は出ず、開こうとしても、拒否されて入れません。
03通信はいつも暗号化しています
していること
通信はいつも暗号化(https)しています。さらに、HSTSという指示を2年分出しています。ブラウザに「このサイトは暗号化した通信でだけ開くこと」と覚えさせる指示です。
なぜ効くか
暗号化していない通信は、途中で見られたり、すり替えられたりするおそれがあります。HSTSがあると、一度開いたブラウザは、次から自分で暗号化の通信を選びます。
確かめ方
アドレス欄の左のマークを押すと、「この接続は保護されています」と出ます。開発者ツールの「ネットワーク」でページを読み込み直し、一番上の行を選びます。「レスポンス ヘッダー」の「strict-transport-security」に「max-age=63072000」とあります。2年分の秒数です。
04大量アクセスの攻撃は、配信会社の仕組みで和らげます
していること
公開先は、Vercel(バーセル)という配信の会社です。大量のアクセスでサイトを止める攻撃を、DDoS(ディードス)攻撃と呼びます。Vercelは、これをすべてのプランで自動で和らげる、と公表しています。
なぜ効くか
大量のアクセスは、1台のサーバーでは受け止めきれないことがあります。配信会社の大きな仕組みの側で受け止めて、和らげます。止めきれる、とは書いていません。
確かめ方
末尾の出典から、Vercelの公式文書「DDoS Mitigation」を開けます(英語)。
05外の会社のプログラムを、1本も読み込んでいません
していること
アクセス解析や広告のタグ、外部の文字のデータ、動画などの埋め込み。どれも読み込んでいません。読み込むのは、このサイトに置いたファイルだけです。
なぜ効くか
外のプログラムは、こちらのページの上で動きます。それが書き換えられたら、こちらのページでも動いてしまいます。自分では見張れない入口を、最初から作らないということです。
確かめ方
ページのソースで、「script」や「link」の行を見てください。読み込み先は、このサイトの中のファイルだけです。LINEや出典へのリンクは、押したときに移るだけで、読み込んではいません。
06フォームは、サイトの中の受付口を通します
していること
フォームは、このサイトの中の受付口に送ります。確かめたあと、配送サービス(FormSubmit)を通して転送します。届くのは、公開している連絡先と同じ私のメールです。配送サービスへの送り先は、フォームに書いていません。
なぜ効くか
送り先がフォームに書いてあると、読み取られて直接送りつけられやすくなります。
確かめ方
ページのソースで「form」の行を見てください。送り先は「/api/contact」。このサイトの中の受付口です。
07迷惑な送信は、受付口で落とします
していること
次のような送信を、受付口で落とします。
- 人には見えない欄が埋まっているもの(機械だけが埋めます)
- 送信までの時間が、短すぎるもの
- よそのサイトから送られてきたもの
- 同じところから、続けざまに来るもの
- 決まった欄以外のもの、長すぎるもの、見えない制御の文字を含むもの
- 名前などの欄に、URLが入っているもの
落とした理由は、送ってきた側に教えません。記録に残すのは理由の札だけで、名前・メール・本文・IPアドレスは残しません。
なぜ効くか
機械が自動で送る迷惑な送信は、人と違う動き方をします。その違いを1つで決めず、いくつも重ねて見ます。理由や細かい条件を教えないのは、すり抜け方の手掛かりを渡さないためです。判定は、本物のお問い合わせを落とさないことを第一にしています。送れなかったときは、LINE・電話・メールの連絡先を画面に出します。
確かめ方
見えない欄は、ソースの「この欄は空のままにしてください」の場所です。ほかの条件は公開していません。ここだけは、見せないことが守りになります。
08全ページに、セキュリティの指示を付けています
していること
ページと一緒に、ブラウザへの指示(ヘッダー)を5つ送っています。
- よそのサイトの枠の中に、このサイトを埋め込ませない
- ファイルの種類を、ブラウザに取り違えさせない
- よそへ移るとき、URLの細かい部分を渡さない
- カメラ、マイク、位置情報を使わせない
- フォームの送り先を、このサイトの中に限る
なぜ効くか
偽のサイトが、本物を透明な枠に入れて重ねる手口があります。押したつもりのないボタンを押させるためです。埋め込みを断っておけば、この手口は使いにくくなります。要らない機能は閉じ、ページがいじられても入力を外へ送らせない備えをしています。
確かめ方
開発者ツールで、項目3と同じ「レスポンス ヘッダー」を見てください。「x-frame-options」など、5つの指示の行が並んでいます。
09公開の前に、関所を通します
していること
公開するのは、「公開してよいフォルダ」だけです。別の場所に写してから送り出します。そのうえで機械の関所を通します。料金の表記のずれ、確認用の札の消し忘れ、使わないと決めた言い回し。1つでもあれば、公開の道具が止まります。最後の点検で、直さないと出せないものが1つでも残っていれば、公開しません。点検のあとで中身が少しでも変わると、点検済みの印は無効になります。
なぜ効くか
作業中のファイルや社内の書類を、うっかり公開する事故もあります。人は忘れます。だから、忘れても止まる仕組みにしています。
確かめ方
手元の作業なので、外からは見えません。だから手順をここに書きました。
10何かあっても、前の版にすぐ戻せます
していること
公開した版の控えを、日付を付けて手元に残しています。公開先のVercelには、前の版にすぐ戻す機能があります。
なぜ効くか
おかしな状態で公開してしまっても、直し終わるまで待たずに済みます。まず前の版に戻し、落ち着いて原因を調べられます。屋根でいえば、雨が入ったら、まずブルーシートをかけるのと同じです。
確かめ方
これも手元の作業なので、外からは見えません。
05
私が「絶対に安全」と言わない理由
この章の要点
- 明日見つかる弱点を、今日知っている人はいません。だから言い切りはしません。
- 守りは重ねています。そのうえで、弱いところも書きます。
- 言い切りの代わりに、入口を減らす・重ねて守る・すぐ戻す・全部見せる、で判断してもらいます。
言い切る業者ほど、立ち止まってください
「うちに任せれば、何の心配もいりません」。ホームページの営業でそう言われたら、少し立ち止まってください。
PHP2shellも、長く使われてきた幅広い版で見つかった弱点です。明日見つかる弱点を、今日知っている人はいません。だから私は、言い切る言葉を信用しませんし、自分でも使いません。
対策には万全を期しています。そのうえで、言い切りはしません
屋根も同じです。どれだけ丁寧に葺いても、「この屋根は100年漏りません」とは言いません。言えるのは、どこをどう納めたか。点検で何を見たか。漏ったらどう直すか。ホームページも、同じ形で説明します。入口を減らす。何重にも守る。すぐ戻せる。全部見せる。第3章の4つです。
弱いところも、書いておきます
- フォームは、外から届く入口です。迷惑な送信が、すり抜けて届くこともあります。
- 配送サービスへ直接送られたものは、受付口を通りません。
- 続けざまの送信を止める仕組みは、止めきれないことがある前提の備えです。
- 公開に使うアカウントやパソコンも、守る対象です。破られれば、どんなサイトも書き換えられます。
- 配信会社(Vercel)の中で起きることまでは、私には約束できません。
- 第三者の認証(ISMSやプライバシーマーク)は、持っていません。
- 攻撃を何件防いだかは、数えていないので出しません。
伏せたほうが、聞こえは良くなります。でも、伏せた約束は、何かあったときに守れません。
06
いまWordPressのサイトをお持ちの方へ
この章の要点
- 今日確かめることは3つ。PHPの版、最後の更新日、誰が更新しているか。
- 制作会社には、責める言い方ではなく、事実を聞く言い方で聞きます。
- 手入れが続いているなら、作り直す必要はありません。
まず、慌てなくて大丈夫です
WordPressのサイトが、すぐに危ないわけではありません。手入れが続いていれば、今回の件にも更新で対応できます。今日、3つだけ確かめてください。
確かめること1:PHPの版
管理画面の「ツール」から「サイトヘルス」を開きます。「情報」のタブの「サーバー」の欄に、PHPの版が出ています。分からなければ、制作会社に聞きます。
| 使っている版の系列 | この版より前が対象 |
|---|---|
| 8.2系 | 8.2.35 |
| 8.3系 | 8.3.36 |
| 8.4系 | 8.4.27 |
| 8.5系 | 8.5.12 |
| 8.1以前 | サポート終了。直した版は出ない |
表の版より前なら、更新が要ります。8.1以前は直した版が出ないので、早めに制作会社と相談してください。
確かめること2:最後の更新日
管理画面の「ダッシュボード」の「更新」で、更新を待っているものが見られます。長く並んだままなら、手入れが止まっている合図です。
確かめること3:誰が更新しているか
社内の誰か。制作会社。保守の契約をした会社。名前がすぐ出てこなければ、誰も更新していないことがあります。
制作会社への聞き方
責める必要はありません。事実を聞けば十分です。
- うちのサイトのPHPは、いま何番の版ですか。
- IPAが10月22日に出したPHP2shellの注意。うちのサイトは対象ですか。
- WordPress本体とプラグインを、最後に更新したのはいつですか。
- 更新は、いまの契約に入っていますか。
「対応済み」で手入れが続いているなら、作り直す必要はありません。返事が来ない、分からないと言われたときは、相談してください。直すのか、作り直すのか、一緒に整理します。
07
よくある質問
すぐに危ない、とは言えません。手入れが続いていれば、更新で対応できます。確かめ方は、第6章に書きました。
いいえ。心配の種類が減るだけです。フォームのように、外から届く入口は残ります。だから何重にも守り、すぐ戻せるようにしています。
言い切らないのは、言い切れる人がいないからです。その代わり、していることを全部書き、確かめ方も書きました。
これから作るサイトには、PHPやプラグインのような、更新を待つ部品がありません。穴が見つかるたびに急いで更新する手入れは、起きにくい作りです。公開後に何を、どこまで受け持つかは、作る前の打ち合わせで決めます。
ISMSやプライバシーマークなどの、第三者の認証は持っていません。攻撃を何件防いだかも、数えていないので出しません。代わりに、確かめ方を第4章に書きました。
頼めます。いまのサイトを、まず見せてください。直すだけで足りるのか、作り直したほうが早いのかを、一緒に整理します。直すだけで足りる場合は、そう言います。
このページで確認した公的機関と配信会社の情報
世の中の動きと配信会社の仕組みについて書いた箇所は、下のページを2026年10月26日に確かめました。内容は、あとから変わることがあります。
IPA「PHPの脆弱性対策について(CVE-2026-109618、CVE-2026-109619:PHP2shell)」(2026-10-22)
https://www.ipa.go.jp/security/security-alert/2026/alert20261022.html確認日:2026年10月26日
東北経済産業局「PHPの重大な脆弱性に関する注意喚起について」(2026-10-23)
https://www.tohoku.meti.go.jp/2026/261023.html確認日:2026年10月26日
IPA「情報セキュリティ10大脅威 2026 解説書[組織編]」(2026年3月)
https://www.ipa.go.jp/security/10threats/omgdg50000008fi8-att/kaisetsu_2026_soshiki.pdf確認日:2026年10月26日
IPA「中小企業のための 実例で学ぶサイバーセキュリティリスク事例集」(2026年3月)
https://www.ipa.go.jp/security/reports/sme/rcu1hd0000009k82-att/sme-jirei.pdf確認日:2026年10月26日
今のサイトが心配なら、
そのまま聞いてください。
今のサイトを見せてください。直すべきところだけ、正直に言います。売り込みはしません。それで終わっても、それで構いません。
屋根職人歴20年以上、施工2,000棟以上。まず自分の会社で実証してから、同じやり方をお渡ししています。
