体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版(タイケイテキニマナブアンゼンナウエブアプリケーションノツクリカタダイニハン)
脆弱性が生まれる原理と対策の実践
インターネット・WEBデザイン- 著者:
- 徳丸 浩(トクマル ヒロシ)
- 出版社:
- SBクリエイティブ
- 出版日:
- 2018年06月22日頃
- ISBN:
- 9784797393163
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
日本中の現場で支持されたベストセラーが、最新環境にあわせて全面刷新+大増ページ!
Web アプリケーションにはなぜ脆弱性が生まれるのか?
脆弱性を解消するにはどうプログラミングすればよいか?
PHP サンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる!
Web アプリ開発者の必読書、待望の改訂版!
OWASP Top 10 - 2017 対応
<主な改訂内容>
・ HTML5 の普及に対応して Web API や JavaScript に関する解説を新設
・ OWASP Top 10 - 2017 に対応して、 XXE や安全でないデシリアライゼーションなどを解説
・脆弱性診断に対する関心が高まっていることから、脆弱性診断の入門の章を親設
・ IE7 のサポート終了など現在のソフトウェアの状況に対応
・実習環境を Windows に加えて Mac にも対応
技書の森解説
Web アプリケーションのセキュリティを 1 冊で体系的に学ぶなら、まず名前が挙がるのが本書、通称「徳丸本」です。『体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版』 (徳丸浩 著・ SB クリエイティブ・ 2018 年 6 月刊行・ 688 ページ) は、 SQL インジェクション・ XSS ・ CSRF ・セッション管理の不備といった代表的な脆弱性について、攻撃が成立する原理と、なぜその対策で防げるのかを一気通貫で解説する定番書です。個別の対策テクニックを暗記させるのではなく、脆弱性が生まれる仕組みそのものを理解させる構成が、初版 (2011 年 3 月刊行) から一貫した本書の核になっています。
攻撃を手で再現する実習スタイルが最大の読みどころ
最大の特徴は、実際に手を動かして攻撃を再現する学習スタイルです。 PHP で書かれたサンプルアプリケーションに読者自身が攻撃を仕掛け、脆弱性が生まれる過程をコードと HTTP リクエストのレベルで確認してから、対策の実装へ進みます。攻撃側の視点を先に体験するため、「エスケープしておけば安全」「フレームワークに任せれば大丈夫」といった丸暗記の対策が、どんな条件で破れるのかまで自分の言葉で説明できるようになります。実習環境は Windows に加えて Mac にも対応しています。
第 2 版の改訂内容と初版との違い
第 2 版は 初版から 7 年ぶりの改訂 で、差し替えの幅が大きい全面刷新です。 HTML5 の普及に対応して Web API や JavaScript に関する解説が新設され、 OWASP Top 10 の 2017 年版を踏まえて XXE や安全でないデシリアライゼーションといった脆弱性への対処が加わりました。実務での需要の高まりを受けて脆弱性診断入門の章が新設された一方、初版にあった携帯電話向け Web アプリケーションの章は削除されています。 2026 年 8 月時点で本書より新しい版は刊行されておらず、第 2 版が現行版です。
原理から学ぶ構成が効く理由
Web セキュリティ が独学しにくいのは、脆弱性がプログラミング言語の文法でもフレームワークの機能でもなく、 HTTP や HTML 、ブラウザの仕様と、それを前提に書かれた実装との「すき間」で生まれるからです。たとえば SQL インジェクションはデータと命令の境界が崩れる問題であり、 XSS はブラウザが HTML を解釈する仕様そのものに根ざしています。だから特定フレームワークの対策機能だけを覚えても、設定や使い方が変わった途端に守れなくなります。本書が原理からの説明にこだわる意味はここにあり、仕組みで理解しておけば、言語やフレームワークが変わっても同じ判断基準で安全なコードを書けます。 OWASP のような業界標準の分類と対応づけて学べることも、脆弱性診断やセキュリティレビューの実務にそのまま持ち込める強みです。
対象読者と読む前に必要な前提知識
対象読者は、 HTML と HTTP の基礎を知っていて、何らかの言語で Web アプリケーションを作った経験がある開発者です。逆に Web アプリケーションを一度も作ったことがない段階では、攻撃コードの意味が取れずに挫折しやすいため、先に Web 開発の入門書 を 1 冊挟むことをおすすめします。ネットワーク層の攻撃やマルウェア解析など、 Web アプリケーション以外のセキュリティ領域も本書の守備範囲外です。その前提を満たす人にとっての見返りは大きく、自分の書いたコードのどこが危ないかを自分で見つけて直せるようになること、レビューの場で「なぜ駄目か」を根拠付きで説明できるようになることが、 688 ページを読み切る具体的なペイオフです。 Web 開発を仕事にするエンジニアが開発中に該当章を引き続ける常備書として、長く元が取れる 1 冊です。
言及 Qiita 記事 (69 件)
【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた
♡ 2567初心者, まとめ, 技術書, 勉強, 新人プログラマ応援エンジニアに読んで欲しい技術書90選
♡ 1965技術書, 書籍, 新人プログラマ応援javaプログラマー向け学習のための本(新人から5年めくらいまで)を考えてみた
♡ 1350Java, 新人研修, 新人教育, 新人プログラマ応援【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】
♡ 927PHP, ポエム, バックエンド, 駆け出しエンジニア1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します
♡ 858本, インターン, 書籍紹介hashアルゴリズムとハッシュ値の長さ一覧(+ハッシュ関数の基本と応用)
♡ 509hash, ipfs, ハッシュ関数, ブロックチェーン, NFTCTFを始めるときにおすすめな本とか
♡ 318CTFクラウドが好きな大学生が読んで良さげだった本を紹介する
♡ 292技術書, 書評, 初心者エンジニア, プログラミング初心者【分野別】エンジニア1年目の自分に読んでほしい書籍(2026年版)
♡ 272AWS, Security, TypeScript, エンジニア, Next.jsGWも勉強したい方向けに、よくオススメされる技術書をカテゴリ別にまとめてみた
♡ 213Python, AWS, Security, 初心者, AI
この本に興味がある方におすすめ
この本に関連
関連記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
関連用語
コンプライアンス
法規制や業界標準への準拠を確保し、セキュリティと信頼性を維持する取り組み
DevSecOps
開発 / セキュリティ / 運用を統合し、セキュリティをパイプラインに組み込むアプローチ
OWASP
Web アプリケーションセキュリティのベストプラクティスを提供するオープンコミュニティ
セマンティック HTML
HTML 要素の意味 (セマンティクス) に基づいてマークアップし、支援技術や検索エンジンが文書の構造を読み取れるようにする手法
シフトレフトセキュリティ
セキュリティ対策を開発ライフサイクルの早い段階 (左側) に組み込むアプローチ
Laravel
PHP 製の人気 Web フレームワーク。優雅な記述と豊富な機能で開発を効率化する