『安全なウェブサイトの作り方 改訂第3版』を読んだ
Webアプリ開発者なら必読と思っている資料が改訂されたので読んだ。
うん。やっぱり必読だ。こういう指針があるのはありがたい。
前の版にもあったと思うが『URL を出力するときは、「http://」や 「https://」で始まるURL のみを許可するようにする』(23ページ)を忘れがちなので、未来の自分のためにここにメモしておく。
Basic認証などでのCSRF対策(32ページ)も興味深かった。セッションIDのない環境では秘密情報のマッチング処理を漏らしそうな気がする。これもメモ。
ここからは私見。上記資料で示される指針のほかにも、不正な文字エンコーディングを悪用した攻撃を防ぐために、SQLバインド時やHTTPレスポンス出力時に文字エンコーディングのチェックを行うべきではないか。大垣靖男さんの記事「これからのプログラムの作り方 - 文字エンコーディング検証は必須」を踏まえての認識だが、大垣さんとは違い「入力検査時にチェックする」必要はないと私は思う。