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