PHPのセキュリティを学ぶには?IPAの無料教材・書籍・オンライン講座の選び方

記事内に広告を含みます

PHPのセキュリティを学ぶなら、まずIPA(情報処理推進機構)の無料教材「安全なウェブサイトの作り方」とAppGoatから始めるのが近道です。そのあとPHP公式マニュアルと書籍で深め、動画で学びたい部分はオンライン講座で補うと、お金をかけずに基礎から順に身につけられます。

悩見有造
悩見有造

PHP2Shellのニュースを見て、自分のPHPのコードも大丈夫か不安になりました。セキュリティって、何から勉強すればいいんですか?

編集長
編集長

PHPのセキュリティは、公的機関の無料教材だけでもかなり学べます。どの教材を、どの順番で使えばいいかを説明しますね。

📌 この記事のポイント

● 最初はIPAの無料教材「安全なウェブサイトの作り方」(11種類の脆弱性を解説)

● 手を動かすならIPAの無料ツール「AppGoat」(申請してダウンロード)

● PHP公式マニュアルには「セキュリティ」の章がある

● 書籍とUdemyは、無料教材で足りない部分を補う使い方が向いている

PHPのセキュリティは何から学ぶ?おすすめの順番

PHPのセキュリティは何から学ぶ?おすすめの順番
編集長
編集長

最初に、学ぶ順番の全体像を決めておくと迷いません。無料の教材から始めて、足りないところだけお金をかけます。

「仕組みを知る→手を動かす→深める」の順で進める

学ぶ順番は、IPAの資料で脆弱性の種類を知り、AppGoatで実際に試し、書籍や公式マニュアルで深める流れです。いきなり分厚い本から入るより、全体像をつかんでから細かい部分に進むほうが続きます。

● IPA「安全なウェブサイトの作り方」で脆弱性の種類を知る

● IPA「AppGoat」で脆弱性を見つけて直す練習をする

● PHP公式マニュアルの「セキュリティ」の章を読む

● 書籍・オンライン講座で足りない部分を補う

このうち最初の3つは無料で使えます。お金がかかるのは書籍とオンライン講座だけです。

PHP本体の脆弱性とコードの脆弱性は分けて考える

学ぶ前に押さえておきたいのは、「PHP本体の脆弱性」と「自分が書いたコードの脆弱性」は別物だということです。PHP2Shellは前者で、PHPを修正版に更新することで直します。

この記事で扱う教材は、主に後者のSQLインジェクションやクロスサイト・スクリプティングを防ぐ書き方を学ぶものです。PHP本体の更新とコードの書き方の両方がそろって、はじめてサイトを守れます。

PHP2Shellで何が起きたかは、PHP2Shellとは?影響を受けるサイトと今やる対策をやさしく解説にまとめています。

無料で学べる公的な教材(IPA・PHP公式マニュアル・OWASP)

無料で学べる公的な教材(IPA・PHP公式マニュアル・OWASP)
編集長
編集長

無料の教材だけでも、基礎はしっかり学べます。どれも公的機関や公式が出しているものです。

IPA「安全なウェブサイトの作り方」は11種類の脆弱性を解説

IPAの「安全なウェブサイトの作り方」は、ウェブサイトの開発者や運営者に向けて、よく狙われる脆弱性と対策をまとめた資料です。最新は改訂第7版で、PDF(全115ページ)とExcelのチェックリストをIPAのサイトからダウンロードできます。

第1章では、SQLインジェクション・OSコマンド・インジェクション・クロスサイト・スクリプティング・CSRFなど、11種類の脆弱性を取り上げています。第2章は運用面の取り組み、第3章は失敗例で、巻末にチェックリストがついています。

章内容
第1章ウェブアプリケーションのセキュリティ実装(11種類の脆弱性と対策)
第2章ウェブサイトの安全性向上のための取り組み(運用面)
第3章失敗例
巻末チェックリスト(Excel版もあり)

IPA「AppGoat」で脆弱性を見つけて直す練習ができる

AppGoatは、IPAが無償で提供している脆弱性体験学習ツールです。演習問題で埋め込まれた脆弱性を見つけ、プログラムの問題点と対策を学ぶ形式です。

利用するには、利用許諾条件に同意して申請フォームから申し込み、届いたメールのURLからダウンロードします。動作環境はWindows 11で、空き容量1GBとChrome・Firefox・Edgeのいずれかが必要です。

IPAは、AppGoatで学んだことを別の目的で悪用しないよう注意しています。練習は自分のパソコンの中だけで行い、他人のサイトで試すことはしません。

PHP公式マニュアルの「セキュリティ」の章

PHPの公式マニュアルには、日本語で読める「セキュリティ」の章があります。セッション・ファイルシステム・データベース・エラーの表示・ユーザーが投稿したデータなどの節に分かれています。

データベースの節にはSQLインジェクションの説明があり、プリペアドステートメントの解説ページでは、プリペアドステートメントだけを使えばSQLインジェクションは発生しないと書かれています。章の最後の節は「最新版を維持する」で、PHP本体の更新も対策の一つとして挙げています。

OWASP Top 10で、よく狙われる弱点の全体像をつかむ

OWASP Top 10は、Webアプリケーションのセキュリティ上の主なリスクを、非営利団体のOWASPがまとめたものです。最新版は2025年版で、OWASPはすべての資料を無料で公開しています。

英語の資料ですが、どんな弱点が狙われやすいかの全体像をつかむのに役立ちます。IPAの資料で基礎を学んだあとに読むと、内容が頭に入りやすくなります。

書籍で体系的に学ぶ

書籍で体系的に学ぶ
編集長
編集長

無料の教材で全体像をつかんだら、書籍で深めます。ここでは出版社の公式ページで確認できる書誌情報だけを書きます。

定番は「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」

PHPでWebアプリケーションの脆弱性を学ぶ本としては、徳丸浩さんの「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」があります。SBクリエイティブから2018年6月に出た688ページの本です。

出版社の紹介によると、PHPで書かれたサンプルに攻撃を試しながら、脆弱性の原理と対処法を学ぶ構成です。第2版では、OWASP Top 10 – 2017への対応や、脆弱性診断の入門の章が加わっています。

項目内容
書名体系的に学ぶ 安全なWebアプリケーションの作り方 第2版
著者徳丸浩
出版社SBクリエイティブ
発売2018年6月(688ページ)

出典:SBクリエイティブの電子書籍ストアの商品ページ(2026年11月7日確認)。

書籍を読むときの注意

書籍は、発行された時点の情報で書かれています。この本も2018年の発行なので、OWASP Top 10は2017年版が前提です。

本の中で紹介されているWebページは、その後に場所が変わっていることもあります。最新の情報はIPAやPHP公式のページで確かめながら読むと安心です。

Udemyなどのオンライン講座で学ぶときのポイント

Udemyなどのオンライン講座で学ぶときのポイント
編集長
編集長

動画で学びたい人には、Udemyのようなオンライン講座もあります。講座の中身や価格は変わるので、選び方の考え方だけ書きます。

Udemyは講座を1つずつ買う方法と定額プランがある

Udemyは、講師が作った動画講座を受講するサービスで、講座を1つずつ買う方法と、定額で多くの講座を受けられる個人向けプランがあります。PHPやWebセキュリティの講座も出ていますが、内容や価格は講座ごとに違い、変わることもあります。

Udemyのヘルプでは、条件を満たす講座は購入から30日以内なら返金を申請できると案内しています。理由を問わず申請でき、ブラウザで購入履歴のページから手続きします。

Udemyのアプリからは返金の申請ができないので、スマホの場合もブラウザでUdemyのサイトにログインして手続きします。返金はほとんどの場合、元の支払い方法に戻ります。

講座を選ぶときに確認すること

講座を選ぶときは、講座の最終更新日と、扱っているPHPのバージョンを確認します。PHPは古いバージョンと新しいバージョンで書き方が変わる部分があるためです。

● 講座の最終更新日が新しいか

● 扱っているPHPのバージョン

● プレビュー動画で説明が分かりやすいか

● 30日以内に見て合わなければ返金を申請できるか

講座で習った内容は、IPAの資料やPHP公式マニュアルと照らし合わせておきます。複数の資料で同じことが書かれていれば、内容を確かめやすくなります。

学んだことを自分のサイトで生かすには

学んだことを自分のサイトで生かすには
編集長
編集長

学んだことは、自分のサイトの点検に使ってこそ意味があります。最後に、身近なところから始める方法を紹介します。

IPAのチェックリストで自分のサイトを点検する

「安全なウェブサイトの作り方」の巻末には、対策ができているかを確かめるチェックリストがついています。自分で作ったお問い合わせフォームや会員ページを、項目ごとに見直せます。

Excel版もあるので、確認した日と結果を書き込んで残しておくと、次の点検が楽になります。点検するのは自分が管理しているサイトだけにします。

PHP本体の更新は、コードの見直しとは別にやる

コードの書き方をどれだけ直しても、PHP本体に脆弱性があれば、修正版への更新が必要です。PHP公式も、PHP2Shellのような脆弱性への完全な対策は修正版への更新だけで、設定変更などの緩和策は部分的なものにとどまると案内しています。

レンタルサーバーなら管理画面でバージョンを確認し、VPSなら自分で更新します。WAFやセキュリティプラグインの役割も知っておくと、どこを誰が守っているかが分かります。

WAFについてはWAFとは?無料で使えるものと有料の選び方|レンタルサーバー・Cloudflare、プラグインについてはWordPressのセキュリティプラグインの選び方|SiteGuard・Wordfenceで詳しく説明しています。

WordPressなら、まず更新とバックアップから

WordPressを使っているだけで自分でコードを書かない場合は、教材で学ぶ前に、更新とバックアップの習慣をつけるのが先です。WordPress本体・テーマ・プラグインとPHPを最新に保つことが、そのまま守りになります。

PHPのバージョンの切り替え方は、PHP 8.2は2026年12月31日でサポート終了|WordPressで今やる3つのことにまとめています。

📝 この記事のまとめ

● PHPのセキュリティは、IPAの無料教材「安全なウェブサイトの作り方」から始めるのが近道

● 手を動かすならIPAの無料ツールAppGoat。PHP公式マニュアルにもセキュリティの章がある

● 書籍は「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」が定番。発行年に注意して読む

● Udemyは条件を満たせば30日以内に返金を申請できる。PHP本体の更新はコードの見直しとは別に行う