2011年時点での安全なWebアプリ開発まとめ本。
VMPlayerの仮想マシンがCD-ROMで添付されていて、すぐに仮想マシン上で実行出来る点が素晴らしい。
他にも文字コードの問題や携帯サイト開発での注意点など、2011年時点での最新の内容が網羅されている。
PHPだけでなくPerl, Java, .NET の場合についても言及されているので安心。
安全なWebアプリ開発の指南書はどうしても、年を重ねると内容が古くなってしまいがち。当時は安全と思われていた対策や関数が、後になって脆弱性や問題が発見されたり。本書は「2011年時点では」信頼できる書籍だが、数年後もそうであるとは限らない。
継続した情報収集が必要。
また、逆に古い書籍を参照するときは「今の時点ではどうなのか」というのを念頭に置いて読み進める必要がある。
参考までに、自分が安全なWebアプリ開発を勉強するときに読んできた本の軌跡:
2005年:「PHPサイバーテロの技法」
この本でWebアプリのセキュリティに開眼させられた記憶が。
2004-2005年にかけて、PHPで作られたWebサイトの脆弱性が広く知られるようになって、PHPのdisが始まったような記憶が。
2006年:「Webアプリセキュリティ対策入門」
この辺で、PHPで開発するときの"NGパターン"が出揃った感じ。
2007年:「ウェブアプリケーションセキュリティ」
自分が購入したのはもうちょっとあとになって、2009年頃だったような。2009年の転職時に、Webアプリのセキュリティ検査やってる会社に面接しに行ったとき、予習として購入した記憶があります。
ただ、これだけ読んでじゃぁ "100%安全な" Webアプリを開発できるかと問われれば、正直なところ自信が無いです。
というのは最近のWebアプリ開発ではフレームワークやライブラリを作るのが当たり前です。
で、セッション管理とかCookieとかDB関連の機能は、フレームワークやライブラリが覆い隠してしまいます。
ということは、書籍の通りにセッション管理やDB呼び出しができるか、というのを検証するにはフレームワークやライブラリのソースコードを自分で確認しなければなりません。
さらに携帯サイトの開発などでURLにセッションIDを含める場合や携帯IDを使った認証などが絡みだすと、フレームワーク側でそういったきめ細かいHTTPヘッダーやHTML出力中のURLの書き換えを制御・カスタマイズできるのか、とか検証し、実装しなければなりません。
ということで、個人的にはもう、知れば知る程、作るのが面倒くさくて嫌になってくるのが正直な話です。妙なところで神経質になっちゃって、どうしても重箱の隅をツツクようにアレコレ気にしてしまって、前に進めなくなっちゃうんですよね・・・。「~でなければならない」にがんじがらめに縛られちゃうっていうか。あるいは機能とフレームワークの制限とセキュリティのトレードオフで延々とあちらを立てればこちらが立たず、を脳内でくり返してしまうというか。・・・向いてないのかなぁ。