ikepyonのだめ人間日記

セキュリティに関することを書いていく予定。

セキュリティガイドライン

http://www.e-3lab.com/security_guideline/
SQLインジェクション対策に間違いが・・・
エスケープのやり方がチャウんですけど。「\」でエスケープできるのは一部のRDBMSのみで、一般には、「'」を「''」や「"」を「""」とするのが普通(「"」もエスケープ必要だったけ?)。で一部の「\」がエスケープ文字として使用されるDBでのみ「\\」としなくてはいけない。
あと、OSコマンドインジェクションにも誤りというわけではないんだが、やるべきことが一部ある。
多くの言語では、コマンド呼び出しの際に配列で引数を受け付けるメソッドや関数がある。引数すべてを一つの文字列として渡すのでなく、個々の引数を一つ一つ配列の要素にしたほうが楽。

ここら辺の話ってIPAのせきゅあプログラミングに書いてあるはずなんだが・・・
あと、CSRFについてはKanatokoさんのhttp://www.jumperz.net/texts/csrf.htmが良いと思うし、セッションIDの渡し方もSSLに必ずしもする必要はないと思う。セッションIDの盗聴対策についてはやったほうがいいとはいえるけれど、そこまで本当に必要か?ということを考えるべき。確かにセッションIDの盗聴というのは可能性としてあるけれど、セッションIDだけを守るためだけにSSLを導入するというのはコストが高すぎ。
オレオレ証明書でよいとか言うのはぜんぜん意味がないのでダメだしというか、弊害ありすぎるからね。